20190313_C#反转绘制字符串
效果图:

代码:
private void button7_Click(object sender, EventArgs e)
{
Point p = new Point(10,10);
Graphics g = this.panel1.CreateGraphics(); // SizeF sf = g.MeasureString("程序员居然不秃头, 你好意思哈", new Font("宋体", 9)); //之所以不使用MeasureString作为字符串的长度测量, 因为它不准
SizeF sf = TextRenderer.MeasureText(g, "程序员居然不秃头, 你好意思哈", new Font("宋体", 9), new Size(0, 0), TextFormatFlags.NoPadding); //获取真实的字符串像素长度 g.DrawString("程序员居然不秃头, 你好意思哈", this.Font, new SolidBrush(Color.Black), p); //画下测试的中心点
g.DrawString(".", new Font("宋体",12,FontStyle.Bold), new SolidBrush(Color.Red), new Point((int)Math.Ceiling(sf.Width / 2), (int)Math.Ceiling(sf.Height / 2))); //将画布中心点平移到尾部
g.TranslateTransform( sf.Width , sf.Height );
//旋转画板
g.RotateTransform(180);
//定点也要对应取负值
g.DrawString("程序员居然不秃头, 你好意思哈", this.Font, new SolidBrush(Color.Blue), new Point(-10, -10)); //回退角度
g.RotateTransform( -180); //回退画板x,y轴移动过的距离
g.TranslateTransform(- sf.Width , - sf.Height); //绘制下看看画笔是否恢复原状
g.DrawImage(Image.FromFile(@"C:\Users\WXY\Pictures\MM\155.jpg"), new Point(50, 50));
}
注意 g 的释放
20190313_C#反转绘制字符串的更多相关文章
- [C#绘图]在半透明矩形上绘制字符串
首先要绘制一个半透明的矩形,用到的方法当然是FillRectangle().这个函数在调用的时候除了要指明要绘制的矩形外,还要指明填充矩形的背景色.具体的方法就是在绘制矩形的时候传给它一个画刷Brus ...
- 每天一个JavaScript实例-递归实现反转数组字符串
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- html5绘制字符串
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- Golang之字符串操作(反转中英文字符串)
//字符串反转package main import "fmt" func reverse(str string) string { var result string strLe ...
- 使用位运算、值交换等方式反转java字符串-共四种方法
在本文中,我们将向您展示几种在Java中将String类型的字符串字母倒序的几种方法. StringBuilder(str).reverse() char[]循环与值交换 byte循环与值交换 apa ...
- javascript 字符串反转 strip_tags 字符串常用的自定义函数,加载css etc.
字符串反转 String.prototype.reverse = function() { var a = this.split(''); for (var i = 0, j = a.length-1 ...
- 自定义View绘制字符串
import android.app.Activity; import android.os.Bundle; import android.view.Display; import android.v ...
- 绘制字符串:imagestring()
<?php //1. 绘制图像资源(创建一个画布) $image = imagecreatetruecolor(500, 300); //2. 先分配一个绿色 $green = imagecol ...
- python 反转一个字符串
old_str = 'abcd' new_str1 = old_str[::-1] print(new_str1) new_str2 = ''.join(reversed(old_str)) prin ...
随机推荐
- 二进制文件和ASCII文件有何区别
二进制文件和ASCII文件(即文本文件)的区别,对于和计算机亲近时间尚短的同学是个难题. 1.一个例子:两种100000 有程序: #include<iostream> using nam ...
- ResourceNotFound: rgbd_launch
Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking ...
- python 获取复数的实部虚部
#Initialize a complex number cn = complex(,) print("Complex Number: ",cn) print("Comp ...
- ADSL拨号上网或者光纤上网设置概要(原创)
不管是在梧州设置光纤还是在太平设置ADSL拨号上网每次设置上网一体机的时候都是遇到各种麻烦...这次又是弄了N久,每次问题各不一样.总结一下操作过程,方便以后又遇问题回头查询自个微博.一.设置电话线的 ...
- UVA-863 Not so Mobile (简单二叉树)
题目大意:给一个树状天平,判断是否平衡.树状天平是按递归给出的. 题目分析:平衡的条件是子天平都平衡,并且w1*d1==w2*d2,其中w1和w2为子天平的总重量,d1和d2为力矩. 代码如下: # ...
- 动态创建OATipBean
动态创建OATipBean. 动态创建的OATipBean无法直接设置提示内容,需要添加一个静态文本. 参考User Guide示例如下. If you need to create a tip pr ...
- 058——VUE中vue-router之实例操作新闻列表单页面应用与路由别名的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CSS中em、rem和px的区别
任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px,1rem=16px. EM特点 1. em的值并不是固定的: 2. em会继承父级元素的字体大小. rem特点 r ...
- bzoj2120
题解: 可修改莫队 我们加入一个时间T 然后在排序的时候考虑一下时间 在计算的时候也要考虑 代码: #include<bits/stdc++.h> using namespace std; ...
- MVC项目使用Oracle数据库运行提示:找不到请求的 .Net Framework Data Provider。可能没有安装
MVC项目使用Entity Framework针对Oracle数据库进行开发时,由于Oracle官方网站一般建议开发者在64位操作系统中使用32位ODP.Net进行开发.在进行程序编码的时候不会有问题 ...