Graphics平移缩放旋转
2016-07-26 13:44
295 查看
【平移】
private void btnTranslate_Click(object sender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
// 向左平移100向下平移50
graphics.TranslateTransform(100,50);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
【缩放】
private void btnScale_Click(object sender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
graphics.ScaleTransform(0.5f, 2);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
宽缩小一半,高放大一倍
【旋转】
private void btnTraslate_Click(object s
b952
ender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
graphics.TranslateTransform(200,0);
graphics.RotateTransform(90);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
坐标原点为矩形的左上点。
private void btnTranslate_Click(object sender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
// 向左平移100向下平移50
graphics.TranslateTransform(100,50);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
【缩放】
private void btnScale_Click(object sender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
graphics.ScaleTransform(0.5f, 2);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
宽缩小一半,高放大一倍
【旋转】
private void btnTraslate_Click(object s
b952
ender, EventArgs e)
{
Graphics graphics = this.CreateGraphics();
// 红色笔
Pen pen = new Pen(Color.Red, 5);
Rectangle rect = new Rectangle(0, 0, 200, 50);
// 用红色笔画矩形
graphics.DrawRectangle(pen, rect);
graphics.TranslateTransform(200,0);
graphics.RotateTransform(90);
// 蓝色笔
pen.Color = Color.Blue;
// 用蓝色笔重新画平移之后的矩形
graphics.DrawRectangle(pen, rect);
graphics.Dispose();
pen.Dispose();
}
坐标原点为矩形的左上点。
相关文章推荐
- Memcache如何保存数据过期时间为31天?
- SNMP网络管理协议,企业对应的OID段
- 华为路由器配置OSPF实例
- 【数据结构】单链表—寻找两个相交链表中第一个公共结点 — 蛮力法 / 栈 / 指针先走
- jQuery外链新窗口打开
- Tomcat端口被占用Address already in use: JVM_Bind <null>:8080
- 实现上传解析Excel表格
- Sql优化方法
- 使用iftop监控网卡实时流量
- 苹果手机点击延迟问题
- ie7span标签float换行悬浮
- Xcode插件整理
- Spring IOC注入源码分析
- 直接插入排序----java实现
- netapp 8.3 cluster mode 安装过程。
- 定制ubuntu live cd
- POJ-1128 Frame Stacking
- Spring AOP 参数说明
- 如何修改与制作wordpress的作者页面
- JMeter 介绍: 一个非常优秀的开源的性能测试工具。