C# Winform picturebox显示用代码画出来的字符串图片

镇场诗:
———大梦谁觉,水月中建博客。百千磨难,才知世事无常。
———今持佛语,技术无量愿学。愿尽所学,铸一良心博客。
——————————————————————————————————————————

1 UI

2 code

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Threading.Tasks;
  9 using System.Windows.Forms;
 10
 11 namespace WindowsFormsApplication6
 12 {
 13
 14     public partial class Form1 : Form
 15     {
 16
 17         public Form1()
 18         {
 19             InitializeComponent();
 20         }
 21         /// <summary>
 22         /// 用来画出图片,然后在picturebox中显示图片的
 23         /// </summary>
 24         /// <param name="pBox">哪个picturebox显示画出来的图片呀</param>
 25         /// <param name="content">将哪个字符串画进图片呢</param>
 26         private void pbShow(PictureBox pBox,string content)
 27         {
 28             //创建图片对象,一会要给picturebox的
 29             //这个图片,宽32,高31,刚好是picturebox的宽与高
 30             Bitmap bm = new Bitmap(32, 31);
 31             //从指定的Image对象创建新的Grapics画板
 32             Graphics g = Graphics.FromImage(bm);
 33             //字体是宋体
 34             string font = "宋体";
 35             //字体的颜色是白色
 36             Color fontColor = Color.White;
 37             //创建一个点,这个点就是用来指定被画对象的初始位置
 38             Point p = new Point(10, 5);
 39             //画字符串 画的内容是content   宋体,12号,粗体               字体的颜色:白色     字体的位置
 40             g.DrawString(content, new Font(font, 12, FontStyle.Bold), new SolidBrush(fontColor), p);
 41
 42             //把画出来的图片交给picturebox吧
 43             pBox.Image = bm;
 44         }
 45
 46         //定义一个枚举后,配合bool数组,程序的可读性就会大大提高
 47         enum flag:Int16
 48         {
 49             OF,
 50             DF,
 51             IF,
 52             SF,
 53             ZF,
 54             AF,
 55             PF,
 56             CF
 57         }
 58
 59         //flag寄存器的每一位的状态,true对应1,false对应0
 60         bool[] eachFlag = new bool[] { true, true, true, true, true, true, true, true };
 61
 62         private void Form1_Load(object sender, EventArgs e)
 63         {
 64
 65         }
 66
 67         #region 16个按钮被点击后的代码
 68         /// <summary>
 69         /// 按钮被单击,pbOF这个picturebox显示OV字样,然后OF标志位对应在bool数组的内容变为ture
 70         /// </summary>
 71         /// <param name="sender"></param>
 72         /// <param name="e"></param>
 73         private void btnOV_Click(object sender, EventArgs e)
 74         {
 75             pbShow(pbOF,"OV");
 76             eachFlag[(int)flag.OF] = true;
 77         }
 78
 79         private void btnNV_Click(object sender, EventArgs e)
 80         {
 81             pbShow(pbOF, "NV");
 82             eachFlag[(int)flag.OF] = false;
 83         }
 84
 85         private void btnDN_Click(object sender, EventArgs e)
 86         {
 87             pbShow(pbDF,"DN");
 88             eachFlag[(int)flag.DF] = true;
 89         }
 90
 91         private void btnUP_Click(object sender, EventArgs e)
 92         {
 93             pbShow(pbDF, "UP");
 94             eachFlag[(int)flag.DF] = false;
 95         }
 96
 97         private void btnEI_Click(object sender, EventArgs e)
 98         {
 99             pbShow(pbIF, "EI");
100             eachFlag[(int)flag.IF] = true;
101         }
102
103         private void btnDI_Click(object sender, EventArgs e)
104         {
105             pbShow(pbIF, "DI");
106             eachFlag[(int)flag.IF] = false;
107         }
108
109         private void btnNG_Click(object sender, EventArgs e)
110         {
111             pbShow(pbSF, "NG");
112             eachFlag[(int)flag.SF] = true;
113         }
114
115         private void btnPL_Click(object sender, EventArgs e)
116         {
117             pbShow(pbSF, "PL");
118             eachFlag[(int)flag.SF] = false;
119         }
120
121         private void btnZR_Click(object sender, EventArgs e)
122         {
123             pbShow(pbZF, "ZR");
124             eachFlag[(int)flag.ZF] = true;
125         }
126
127         private void btnNZ_Click(object sender, EventArgs e)
128         {
129             pbShow(pbZF, "NZ");
130             eachFlag[(int)flag.ZF] = false;
131         }
132
133         private void btnAC_Click(object sender, EventArgs e)
134         {
135             pbShow(pbAF, "AC");
136             eachFlag[(int)flag.AF] = true;
137         }
138
139         private void btnNA_Click(object sender, EventArgs e)
140         {
141             pbShow(pbAF, "NA");
142             eachFlag[(int)flag.AF] = false;
143         }
144
145         private void btnPE_Click(object sender, EventArgs e)
146         {
147             pbShow(pbPF, "PE");
148             eachFlag[(int)flag.PF] = true;
149         }
150
151         private void btnPO_Click(object sender, EventArgs e)
152         {
153             pbShow(pbPF, "PO");
154             eachFlag[(int)flag.PF] = false;
155         }
156
157         private void btnCY_Click(object sender, EventArgs e)
158         {
159             pbShow(pbCF, "CY");
160             eachFlag[(int)flag.CF] = true;
161         }
162
163         private void btnNC_Click(object sender, EventArgs e)
164         {
165             pbShow(pbCF, "NC");
166             eachFlag[(int)flag.CF] = false;
167         }
168         #endregion
169
170         /// <summary>
171         /// 显式最终结果,字母对应01的转换
172         /// </summary>
173         /// <param name="sender"></param>
174         /// <param name="e"></param>
175         private void button1_Click(object sender, EventArgs e)
176         {
177             //用一个数组的话,就很好遍历了。
178             PictureBox[] pb = new PictureBox[] { pbOF, pbDF, pbIF, pbSF, pbZF, pbAF, pbPF, pbCF };
179             //因为要对字符串反复的增添,修改,覆盖。所以我选择了stringbuilder
180             StringBuilder sb = new StringBuilder();
181             foreach (var item in eachFlag)
182             {
183                 if(item)
184                 {
185                     sb.Append("1");
186                 }
187                 else
188                 {
189                     sb.Append("0");
190                 }
191             }
192             textBox1.Text = sb.ToString();
193         }
194
195     }
196 }

3 show

——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。
C#是优秀的语言,值得努力学习。
如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取铸成一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。

时间: 2024-08-07 01:16:49

C# Winform picturebox显示用代码画出来的字符串图片的相关文章

winform下 PictureBox 显示网络图片

Image pic = new Image.FromStream(WebRequest.Create("http://x.com/x.jpg").GetResponse().GetResponseStream()); picturebox1.Image = pic 对读取错误的处理没有加 winform下 PictureBox 显示网络图片,布布扣,bubuko.com

(转)winform pictureBox后台显示图片

本文转载自:http://blog.csdn.net/meizhiyun/article/details/8639002 1.获取本地程序图片 方法一 pictureBox1.BackgroundImage = Image.FromFile(@"Resources\bg.gif"); 或是 pictureBox1.BackgroundImage = new System.Drawing.Bitmap(@"Resources\bg.gif"); 注意:Resource

WinForm窗体显示和窗体间传值[转载]

以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关

picturebox显示用字符串代表图片名称的(已导入资源的)图片

// 假设你的项目名称为Demo,PictureBox控件名称为pic1,资源中的图像名称为“IMG” // 获取该资源的代码如下,GetObject的参数可以用拼接字符串的方式来完成 // 注意Resources文件夹下的名称跟资源中定义的名称未必是一致的 pic1.Image=(Image)global::Demo.Properties.Resources.ResourceManager.GetObject("IMG"); // 如果调用频繁也可以预定义一下,如下 using Lo

用 4 行代码画一幅中国地图

为什么是Python 先来聊聊为什么做数据分析一定要用Python或R语言.编程语言这么多种,Java, PHP都很成熟,但是为什么在最近热火的数据分析领域,很多人选择用Python语言? 数据分析只是一个需求,理论上来讲,任何语言都可以满足任何需求,只是麻烦与简易之别.Python这门语言诞生也相当之早,它的第一个版本是26年前发表的,曾经(或者说当前)也被用于web开发,但是就流行程度来说,远远干不过Java和PHP. 东方不亮西方亮,在与Java干仗失败的这20几年时光里,Python练就

神级程序员教你如何用四行代码画出一幅中国地图!Python就是牛逼

前面两行引入相应的库,真正的代码就4行,够简单吧.第1行甚至可以不写,它定义了图的大小.第2行我们创建一个地图,第3行把海岸线画上,第4行显示这个地图,就是这样: 你用 Java 的 4 行代码画一个地图出来? 然后我们开始画上国家,又是1行代码: m.drawcountries(linewidth=1.5) 就变成了这样: 看上去有点变形,这是因为我们没有添加任何投影的原因, Basemap 提供 24 种不同的投影方式,你可以自己一个个试一下,比较常用的是 兰勃特投影 ,我们添加一下: m

android 用代码画虚线边框背景

               1.虚线画效果,可以使用Android中的xml来做. 2.直接上代码: <RelativeLayout android:id="@+id/coupon_popup" android:layout_width="320dp" android:layout_height="200dp" android:layout_margin="20dp" android:gravity="cen

php代码画足球场

用代码画了个足球场 原图: 代码画出的效果图: 代码如下: // 创建一个 200X200 的图像 $img = imagecreate(800, 500); // 分配颜色 $bg = imagecolorallocate($img, 0, 120, 0); $white = imagecolorallocate($img, 255, 255, 255); $black = imagecolorallocate($img, 0, 0, 0); // 填充背景色 imagefill($img,

yjUsBZHghst显示(代码)

骡绂锟椐 yjUsBZHghst显示(代码)