目前正在开发的应用程序有很多图纸。图的起源从左开始,底部代替Top,左开始。除了"DrawingString".之外,绘图工作得很完美
Graphics g;
g.TranslateTransform(0, Height);
g.ScaleTransform(1, -1);
//All drawings
g.DrawString("1", new Font("Segoei UI", 9), Brushes.Green, new Point(x, y));我得到的结果是倒过来的文本,我只想画文本普通的,其余的图纸应该总是从左下角开始吗?
编辑
private void panel1_Paint(object sender,PaintEventArgs e)
{
var g = e.Graphics;
var height = panel1.Height;
g.TranslateTransform(0,height);
g.ScaleTransform(1,-1);
g.DrawRectangle(new Pen(Brushes.Black,1),new Rectangle(10,10,100,100));
g.DrawString("Test",new Font("Segoei UI",9),Brushes.Green,new Point(10,110));
}结果

我只想把课文翻过来。保持图纸的原样
发布于 2018-04-11 09:21:59
再翻一遍。
参见下面的示例。文本Sunday显示正常。然后我们转换图形对象的矩阵并编写,这样星期一在Y轴上出现横向倒置,最后我们再一次翻转Y轴,使它恢复到原来的状态,然后编写,这通常是正常的。

private void Form1_Paint(object sender, PaintEventArgs e)
{
var graphics = e.Graphics; // this.CreateGraphics();
var font = new Font("Georgia", 12.0F);
var brush = new SolidBrush(Color.Black);
var pointF = new PointF(20F, 20F);
graphics.DrawString("Sunday", font, brush, pointF);
graphics.ScaleTransform(1F, -1F);
pointF = new PointF(10F, -210F);
graphics.DrawString("Monday", font, brush, pointF);
graphics.ScaleTransform(1, -1);
pointF = new PointF(200F, 200F);
graphics.DrawString("Tuesday", font, brush, pointF);
brush.Dispose();
font.Dispose();
}在代码中这样做,确保计算要显示文本的Y轴的值。
g.ScaleTransform(1,-1);
g.DrawRectangle(new Pen(Brushes.Black,1),new Rectangle(10,10,100,100));
g.ScaleTransform(1,-1);
g.DrawString("Test",new Font("Segoei UI",9),Brushes.Green,new Point(10, -110));https://stackoverflow.com/questions/49770307
复制相似问题