第12章-图形与图像.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12.8 路径 GraphicsPath 路径GraphicsPath 1、路径的创建 GraphicsPath p = new GraphicsPath(); Point A=new Point(10,10); Point B=new Point(100,10); p.AddLine(new Point(10,10), new Point(10,10)); p.AddRectangle(new Rectangle(AcceptButton,new Size(30,100)); 2、绘制路径 e.Graphics.DrawPath(new Pen(Color.Red), p); 3、路径填充 e.Graphics.FillPath(new SolidBrush(Color.Red), p); 12.9 区域 Region 区域 1、区域的创建 GraphicsPath p = new GraphicsPath(); p.AddString(文字区域, new FontFamily(宋体), (int)FontStyle.Bold, 100.0f, new Point(10, 10), new StringFormat()); Region r = new Region(p); 2、区域的填充 e.Graphics.FillRegion(Brushes.Blue, r); 3、区域的剪裁效果 this.Region=r; 12.10 图形变换 坐标系类型 世界坐标是用于建立特殊图形世界模型的坐标系,也是在 .NET Framework 中传递给方法的坐标系 页面坐标系是指绘图图面(如窗体或控件)使用的坐标系 设备坐标系是在其上进行绘制的物理设备(如屏幕或纸张)所使用的坐标系 平移变换和坐标系 平移变换 myGraphics.TranslateTransform(100, 50); myGraphics.DrawLine(myPen, 0, 0, 160, 80); 旋转与缩放变换 RotateTransform方用来旋转坐标系 public void RotateTransform(float angle); angle为要旋转的角度,以度为单位 ScaleTransform方法用来缩放坐标系 public void ScaleTransform(float sx, float sy); sx为X方向上缩放因子,sy为Y方向缩放因子 旋转与缩放变换 示例: private void Form1_Paint(object sender, PaintEventArgs e){ //创建半透明红色画刷 Brush b=new SolidBrush (Color.FromArgb(125,Color.Red)); e.Graphics.FillRectangle(b, 100, 50, 100, 40); //填充矩形 e.Graphics.RotateTransform(30); //坐标系旋转30度 e.Graphics.FillRectangle(b, 100, 50, 100, 40); //填充矩形 e.Graphics.ResetTransform();//恢复原是坐标系 //设置放大因子,X坐标为原来的0.3倍,Y坐标为原来的2倍 e.Graphics.ScaleTransform(0.3f,2); e.Graphics.FillRectangle(b, 100, 50, 100, 40); //填充矩形 } 12.11 色彩变换 色彩变换 对图片实现像素处理 1、 获取位图指定点颜色 public Color GetPixel(int x, int y); 2、设置位图指点点颜色 public void SetPixel(int x, int y, Color color); 示例: //创建新位图,内容为OldImage中的内容 b = new Bitmap(OldImage); for (int i = 0; i b.Width; i++) 色彩变换 for (int j = 0; j b.Height; j++) { Color c1 = b.GetPixel(i, j); //根据原始颜色和轨迹条的值重新生成新颜色 Color c2 = Color.FromArgb(c1.R * trackBar1.

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档