Graphics默认的坐标系原点在左上角,请问如何设置可以让原点在右上角?
解决方案 »
- 如何做可以像一个网页发送访问请求,不下载页面!
- C# wpf 显示问题
- C#游戏开发中有main()函数吗?
- C#里我给FORM添加ICON和往PICTUREbox里添加图片问题
- Socket提示错误:"您的主机中的软件放弃了一个已建立的连接"
- 关于C#中的文件读取汉字的问题
- Asprise OCR 1无法识别问题,有没有朋友有这方面经验
- 如何获取一个类的所有可set的属性
- c#winform中一个cs文件中的按钮,如何调用另一个cs文件中的第三方控件radioGroup的EditValueChanged事件
- 谁有 ASP.NET入门经典---C#编程篇 的源码啊?(能提供者尽数给分!)
- 准备学c#,但有几个问题,大家帮忙看看???
- webBrowser问题
vGraphics.TranslateTransform(ClientSize.Width, 0);
vGraphics.DrawLine(Pens.Black, new Point(-10, 10), new Point(-10, 100));TranslateTransform()方法可以改变原点RotateTransform()方法可以旋转坐标系
而我希望实现的效果是,当改变Client(如PictureBox)的大少时,图形是跟随着右上角移动,而不是默认的左上角.
这样表达问题应该比较清晰了,希望指教.
private void pictureBox1_Resize(object sender, EventArgs e)
{
pictureBox1.Padding = new Padding(
pictureBox1.ClientSize.Width - pictureBox1.Image.Width, 0, 0, 0);
}
{
Graphics g = pictureBox1.CreateGraphics();
g.TranslateTransform(pictureBox1.Width - 1024 ,0);
//image为一个Bitmap实例
g.DrawImage(image ,0 ,0);
}
这样可以让图像跟着右上角走,但是由于在改变pictrueBox1大小时开销比较大,造成图像不稳定,不过这也在意料之中,Piant事件中响应所得的图像是只更新了新出来的部分所以会比较稳定,但是它Graphics的默认坐标原点始终在左上角,所以拉宽时图像就是从右边出来,不会从左边出来,要实现很稳定的图像从右边出来,估计要重写PictrueBox里的一些东西和Graphics了.好像很复杂,唯有慢慢研究了.
不知道这种想法合不合理呢.