实现一些小功能
双击添加文字和再次双击文字修改,和鼠标按住文字可以修改其位置

在Presenter中添加方法Addstring,并且在OnMouseDoubleClick事件中调用

 private void Addstring(Point poi, string txt){TextBox te = new TextBox();te.Location = poi;te.Text = txt;te.Size = new System.Drawing.Size(100, 21);te.KeyDown += delegate (object obj, KeyEventArgs es){if (es.KeyCode == Keys.Enter){Label label1 = new Label();label1.AutoSize = true;label1.BackColor = System.Drawing.Color.Transparent;label1.Location = te.Location;label1.Text = te.Text.Trim();label1.DoubleClick += delegate (object _obj, EventArgs _es)//再次双击修改文字{Addstring(label1.Location, label1.Text.Trim());_canvas.RemoveChild(label1);};label1.MouseMove += delegate (object _obj, MouseEventArgs _es){if (_es.Button == MouseButtons.Left){label1.Location = _canvas.HideFouce(Control.MousePosition);}};_canvas.AddChild(label1);_canvas.RemoveChild(te);}else if (es.KeyCode == Keys.Escape){_canvas.RemoveChild(te);}};_canvas.AddChild(te);}public void OnMouseDoubleClick(MouseEventArgs e){Addstring(e.Location, "");}

设置线条宽

在Form1的menustrip中添加一个设置菜单,加入textbox控件

在它的KeyDown事件中,添加代码

 private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Enter){float _penwidth;if (float.TryParse(toolStripTextBox1.Text.Trim(), out _penwidth)){_presenter.worldDraw.pen.Width = _penwidth;}}}

将图画保存




在Form2界面添加FolderBrowserDialog控件 ,保存事件中添加方法

private void 保存ToolStripMenuItem_Click(object sender, EventArgs e){//将图片保存        if (docForm != null){if (folderBrowserDialog1.ShowDialog() == DialogResult.OK){docForm.Saveimage(folderBrowserDialog1.SelectedPath);MessageBox.Show("保存成功");}}}

在Form1中添加方法Saveimage

 public void Saveimage(string path){_presenter.MySaveImage(path);}

在Presenter中添加方法MySaveImage

 public void MySaveImage(string path){_bufferBitmap.Save(Path.Combine(path, "myfile.png"));//默认保存格式为PNG,保存成jpg格式质量不是很好}

就是这么强大,结束!

C# GDI画图系列(五) 添加文字和导出图片等附加功能相关推荐

  1. php加图片源码_PHP添加文字水印或图片水印的水印类完整源代码与使用示例

    PHP实现的给图片添加水印功能,可添加文字水印或图片水印,使用文字水印时需要提供字体文件,使用图片水印时需要提供水印图片,水印图片不能比要添加水印的图片大,请使用背景透明的水印图片. 该水印类支持自定 ...

  2. php怎么给视频加水印,视频怎么加水印 添加文字水印和图片水印 给视频加水印的软件...

    昨天由于台风"妮妲"来了深圳,所以在家休息了一天,而且势汹汹的台风"妮妲"于2日03时35分在深圳市大鹏半岛登陆,登陆时风力达到14级,成为近年来正面登陆珠江三 ...

  3. canvas 添加文字水印、图片水印并实现图片水印透明

    先上效果图 1.图片添加文字 2.图片添加图片水印 1.图片添加文字水印 async init() {let imgUrl ="http://qysmjczto.hn-bkt.clouddn ...

  4. Java实现添加文字水印、图片水印功能

    Java实现添加水印功能 添加水印 Java 2D API介绍 绘制文字水印 绘制图片水印 循环添加文字水印 添加水印 为图片添加水印的主要作用是保护图片版权,防止图片被未经授权的人使用或传播.为图片 ...

  5. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)

    想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...

  6. 如何给原图添加文字水印和图片水印

    今天记录一下如何给自己的图片添加记号(两种方法:一是添加图片水印,二是添加文字水印,我都有哦!!!),防止有人盗图侵权,但是该方法不是修图,是源码敲出来的,适用于android开发!!! 话不多说,稍 ...

  7. uni-app APP,H5图片上传添加文字水印,图片只显示左上角bug(H5,安卓App可用,其他暂未测试)

    项目场景: 提示:这里简述项目相关背景: uni-app上传图片添加文字水印功能时图片只显示左上角,或者图片重叠 图片不规则一系列bug,特此记录 问题描述 提示:这里描述项目中遇到的问题: 上传图片 ...

  8. html5图片中加入文字,HTML肿么在图片上添加文字,也就是图片作为背景,代码和图像显示如下...

    单纯的html要实现你说的效果很难,必须html和css配合才可以,首先用css为需要设置背景的元素设置背景,然后用html写文字等内容.附加一个简单例子,希望帮到你.(其中1.jpg跟这个页面在一个 ...

  9. PHP合成推广微信推广海报 PHP合成图片 PHP在图片上添加文字 PHP制作图片

    代码演示: <?php header("content-type: image/png");//如果要看报什么错,可以先注释调这个header$nickname = &quo ...

最新文章

  1. MySQL数据库使用连接更新表中某个字段数据
  2. centos 下载为firefox安装flash插件
  3. 两个软件相互交换数据_六轴算法机软件使用说明
  4. linux 启动流详解
  5. SAP Spartacus需要补充url validation单元测试的地方
  6. 42.Linux应用调试-初步制作系统调用(用户态-内核态)
  7. JAVA 入门(2)-如何编译源代码
  8. mysql sync es 异步双写_mysql数据同步es方案思考
  9. php网上实训指导书,PHP网站开发技术-实训指导书2016吐血制作
  10. 简单的php引导页面设计,PS简单制作唯美朦胧柔美的渐变APP引导页
  11. MyBatis3源码解析(7)TypeHandler注册与获取
  12. poj 1655 Balancing Act(求树的重心)
  13. 【笔试/面试】数组及其内存结构
  14. java doc字数_word怎么看不算标点的字数(word统计字数去掉符号)
  15. 个人社区(博客)项目Romantic——功能模块划分
  16. 淘宝超时确认收货 是 如何实现?
  17. TIA博途中如何通过画面编号+变量更改事件实现画面跳转?
  18. 选择企业最合适的人才 —— 谈谈因人设岗与因事设岗
  19. java中系统托盘的实现
  20. 从P1到P7——我在淘宝这7年(转)

热门文章

  1. linux中swi指令,Arm Linux系统调用流程详细解析SWI
  2. 一种既有利于短小作业又兼顾到长作业的调度算法是最高相应比优先
  3. [华为OD 004] 完美走位
  4. JavaWeb实现短信验证
  5. 10、Win下,Qt更改电脑IP、子网掩码和网关
  6. 2020《更好的明年》广东卫视跨年演讲
  7. ZLG7290应用注意事项及检测步骤
  8. 简单的图片轮播器(一):一个关于仿flash的图片轮换器
  9. 抖音账号答题解封的入口在哪?这篇文章给你讲清楚。给大家2个提醒。
  10. 解决龙格现象matlab,matlab实现Lagrange多项式插值观察龙格现象