文章分类 -  C# gdi+

摘要:[csharp] view plain copy /// <summary> /// 将图片Image转换成Byte[] /// </summary> /// <param name="Image">image对象</param> /// <param name="imageFormat">后缀名< 阅读全文
posted @ 2017-12-12 18:58 Net-Spider 阅读(538) 评论(0) 推荐(0) 编辑
摘要:GDI+保存质量比较高的图片的方法,使用Image或者Bitmap的Save方法调节图像保存的质量。 Image.Save方法共有五种重载 其中Save(String, ImageCodecInfo, EncoderParameters)和Save(Stream, ImageCodecInfo,En 阅读全文
posted @ 2017-12-12 18:55 Net-Spider 阅读(7441) 评论(0) 推荐(0) 编辑
摘要:简介 图像旋转功能在实际使用中出现得不多,Image自带RotateFlip方法可以简单的实现90、180等角度的旋转或者翻转,但是如果要实现任意角度的旋转该怎么做?对于一个有经验的同学估计不到半天时间就可以完成,如果让新手遇到,估计就傻了,毕竟里面涉及了三角函数、空间坐标等方面的知识,比较蛋疼的是 阅读全文
posted @ 2017-12-12 18:52 Net-Spider 阅读(1867) 评论(0) 推荐(1) 编辑
摘要:在实际项目中我们经常需要绘制一些实时的数据图片,比如当前各公司的用水量、用电量还有播放声音视频时实时显示当前的声频等等,在我们最熟悉的任务管理器也有这么一个功能,用来表示当前CPU的使用频率,最近笔者刚刚给朋友完成了一个类似的功能图,用曲线图来实时表示一些实际数据,由于形象直观,很受客户欢迎。不过由 阅读全文
posted @ 2017-01-02 10:59 Net-Spider 阅读(559) 评论(0) 推荐(0) 编辑
摘要:双缓冲技术 双缓冲是将图片在显示到DC前,现在要内存建一个DC,也就是用于存储这张图片的内存区,然后在将这部分update到你要显示的地方 这样,可以防止画面抖动很大 这样和你说吧,如果要实现你要的效果,你必须用指针访问内存 比如,把程序声明成unsafe的,然后按照上面的操作进行 this.cle 阅读全文
posted @ 2017-01-02 10:39 Net-Spider 阅读(3761) 评论(0) 推荐(2) 编辑
摘要:实现并封装了磁性窗口类MagneticMagnager,实现磁性窗口仅仅需要调用一行代码: MagneticMagnager test2 = new MagneticMagnager(this, fm2, MagneticPosition.Top); 插图: 具体操作: 1.新建winform项目M 阅读全文
posted @ 2016-06-14 11:18 Net-Spider 阅读(649) 评论(0) 推荐(0) 编辑
摘要:C#版类似酷我音乐盒设计小总结 酷我音乐盒很酷吧,我们一个个写程序的程序员(包括我这种业余选手)总是手心痒痒,要不开始动手仿制一下呗,不过不包括网络下载功能。 我主要是将设计重点放在了音乐播放,歌词显示,歌词拖动定位,歌词滚动定位,桌面歌词加滚动的实现上。下面一一介绍这些实现过程。 一、歌曲播放 歌 阅读全文
posted @ 2016-06-14 11:13 Net-Spider 阅读(690) 评论(0) 推荐(0) 编辑
摘要:前言需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示。随便看一下,大部分 网站基本都是将原图等比缩放来生成缩略图。但完美主义者会发现一些问题,比如显示排版时想让相片缩略图列表非常统一、整齐、和美观,比如要求每张缩略图大 小固定为120 x 90且不拉伸变形怎么办?再比如用户头像如何让缩略图比原图更清晰?或是如何在上传的图片下加一个半透明的LOGO水印?OK,本文根据自己的项目代码描述以上问题的解决方案,所谓C#图片处理高级应用,感觉有点标题党了,这些功能并无多大技术含量。全部基于.Net Framework类库完成,代码中包 阅读全文
posted @ 2014-03-15 11:57 Net-Spider 阅读(676) 评论(0) 推荐(0) 编辑
摘要:摘要:C# GDI+如何获取Graphics对象?本文介绍就来介绍C# GDI+获取Graphics对象3种方法,并提供简单的示例代码供参考。1. 从Paint事件的参数中获取。窗体和许多控件都有一个Paint事件,有一个PaintEventArgs类型的参数e。privatevoid Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){//获取Graphic对象Graphics g = e.Graphics;//书写绘图代码g.DrawRectangle(Pens.Red,10,10,100,50);//释放Gr 阅读全文
posted @ 2014-02-11 16:45 Net-Spider 阅读(1545) 评论(0) 推荐(0) 编辑
摘要:http://www.cnblogs.com/peterzb/archive/2009/07/19/1526555.html 阅读全文
posted @ 2014-02-11 14:58 Net-Spider 阅读(101) 评论(0) 推荐(0) 编辑
摘要: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.Windows.Forms; 9 using System.Drawing.Drawing2D;10 11 namespace LinearGradientBrushDemo12 {13 public partial c... 阅读全文
posted @ 2014-02-11 14:31 Net-Spider 阅读(4463) 评论(0) 推荐(0) 编辑
摘要:最近使用GDI+中的TextureBrush ,但是在FillRectangle時,圖像總是出現偏移問題,例如下圖:原始圖片應該為:下面是我的源代碼,我將一步一步的分析出現這個問題的原因及解決方法。 Image logo = Image.FromFile( " Your Picture Path" );TextureBrush br = new TextureBrush( logo );Graphics g = this.CreateGraphics();g.FillRectangle( br , 22 , 29 , 20 , 20 );原因就在於g.FillRectang 阅读全文
posted @ 2014-01-26 12:29 Net-Spider 阅读(209) 评论(0) 推荐(0) 编辑
摘要:09年暑假正好在学院实验室呆了一段时间,做了个完整的上位机软件(具体实现:根 据下位机的指令,实现通过串口来操纵下位机进行实验,并将采集的数据进行处理和保存,并以图形的方式显示),整个项目边学C# WinForm边设计,这个波形显示控件就是项目中的一部分,也花了自己绝大多数时间。此外,顺便将该波形显示控件当作自己毕业设计的内容,下文实际上是 节选自自己的本科毕业论文,希望对大家能有所帮助。代码以及文章有疏漏、错误、不妥之处在所难免,欢迎交流欢迎转载,但请注明出处http://www.cnblogs.com/xf_z1988/archive/2010/05/11/CSharp_WinForm_W 阅读全文
posted @ 2013-08-29 14:17 Net-Spider 阅读(981) 评论(0) 推荐(0) 编辑
摘要:1 显示图片主要命令:Image.FromFile();graphics.DrawImage(image);protectedoverridevoidOnPaint(PaintEventArgspaintEvnt){ImagenewImage=Image.FromFile("C:/test.jpg");//设置图像显示的左上角PointFulCorner=newPointF(10.0F,10.0F);//显示出图片.paintEvnt.Graphics.DrawImage(newImage,ulCorner);}2 图像缩略图主要命令:image.GetThumbnailI 阅读全文
posted @ 2013-05-20 02:49 Net-Spider 阅读(257) 评论(0) 推荐(0) 编辑
摘要:感谢大家的支持,这几天从早忙到晚,一个字累呀!!!现在挺困的,但是又不习惯这么早睡觉,哎~~还是利用这个时间继续来写第三篇吧. 前两篇已经基本向大家介绍了绘图的基本知识.那么,我就用我们上两篇所学的,做几个例子. 我们先来做一个简单的----仿QQ截图,关于这个的例子其实网上已经有这方面的资料了,但是为了文章的完整性,还是觉得有必要讲解. 我们先来看一下效果:(图1)(图2) 接下来看看这是如何做到的. 思路:聊天窗体上有一个截图按钮,点击按钮后,程序将整个屏幕画在一个新的全屏窗体上,然后显示这个窗体.因为是全屏的窗体,并且隐藏了菜单栏、工具栏等,所以在我们看来就好像是一个桌面的截... 阅读全文
posted @ 2013-05-20 02:17 Net-Spider 阅读(1101) 评论(0) 推荐(0) 编辑
摘要:最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等. 最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写. 废话不多说了,我们先来认识一下这个GDI+,看看它到底长什么样.GDI+:Graphics Device Interface Plus也就是图形设备接口,提供了各种丰富的图形图像处理功能;在C#.NET中,使用GDI+处理二维(2D)的图形和图像,使.. 阅读全文
posted @ 2013-05-20 02:13 Net-Spider 阅读(219) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;using System.Windows.Forms; namespace LC{ class ScreenCapture { #region 抓取屏幕 /// <summary> /// 抓取屏幕(层叠的窗... 阅读全文
posted @ 2013-05-15 16:05 Net-Spider 阅读(477) 评论(0) 推荐(0) 编辑
摘要:这是三年前研究C#与GDI+时的作品,它使用C#与GDI+绘制一把有透明度、带刻度(以像素为单位)的直尺。最终效果:横向直尺:(注:设置了80%不透明度)竖向直尺:(注:设置了100%不透明度,即完全不透明)C#代码:using System;using System.Drawing;using System.Drawing.Drawing2D;using System.Resources;using System.Windows.Forms;namespace BrawDraw.Com.Utility.Ruler{ public class BeautifulRuler : Form { . 阅读全文
posted @ 2013-05-12 01:28 Net-Spider 阅读(1212) 评论(0) 推荐(0) 编辑
摘要:先看效果:private void CreatePenFromBrush_Click(object sender, System.EventArgs e){ Graphics gg = this.CreateGraphics(); gg.SmoothingMode = SmoothingMode.HighQuality; if(m_Bitmap == null) { m_Bitmap = new Bitmap(ClientSize.Width,ClientSize.Height); gg.Clear(Color.White); } Graphics g = Graphics.FromIma.. 阅读全文
posted @ 2013-05-12 01:19 Net-Spider 阅读(286) 评论(0) 推荐(0) 编辑
摘要:效果: //画笔的线型演示 private void DashStyle_Custom_Click(object sender,EventArgs e) { using(Graphics graphics = this.CreateGraphics()) { graphics.Clear(Color.White); Pen pen = new Pen(Color.Blue, 9); //设置文本输出对齐方式及字体 StringFormat fmt = new StringFormat(); fmt.Alignment = StringAlignment... 阅读全文
posted @ 2013-05-12 01:17 Net-Spider 阅读(538) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示