C# GDI+的问题,高手进来看看。 1。可以重写PictureBox控件加入滚动条2。Clip是剪切裁剪区,可以编成控制裁剪区域 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、要想在绘图表面上绘图,就必须有Graphics类的一个实例,创建Graphics对象的方法如下:Graphics g=this.CreateGraphics();假如在窗体的重绘事件中可以这样创建:Graphics g=e.Graphics;2、GDI+提供的两个类可以用于表示图象:Bitmap 类和Metafile类。这两个类都继承自Image类。创建Bitmap对象的方法如下:Bitmap bmp=new Bitmap (@"e:\rama.jpg") 3、Image类是一个抽象类,这表示不能直接创建Image对象——只能创建继承于它的Bitmap 类和Metafile类的实例。4、使用Graphics 类把内存中的图象显示到绘图表面上g.DrawImage(bmp,0,0)所以Graphics 和Bitmap 是相互独立的,你直接操作Bitmap 对象就好,刷新后自然会显示的改变的图象 最简单的方式是pic里再加一个pic外边的pic要求超出范围加上滚动条滚动的时候移动里面的pic 1、如何实现可以滚动的picturebox,就是在下方和右方有滚动条那种。在你的pictureBox底下再放一个Panel,在吧picturebox的size属性改为AutoSize,panel的AutoScroll设置为true就行了3 g = Graphics.FromImage(bitmap); wsjdx(猫) 大侠我需要实现以下功能:1、在一张原图在画上字2、在字上面做一些效果(注:只是字做效果,原图并不做效果)3、字和原图合并保存成一张新的图片(类似于PHOTOSHOP的图层功能)我的程序如下: Graphics g=picturebox.CreateGraphics(); Font fc = new Font("宋体",85, System.Drawing.FontStyle.Bold); PointF pf=new PointF(200,200); StringFormat sf=new StringFormat(); SolidBrush sb=new SolidBrush(Color.blue); g.DrawString ("Text",fc, sb,pf,sf); //以下实现效果的代码,由于实现效果的代码需要对BitmapData进行操作, 我现在就不知道如何将上面写的字转换为BitmapData(只是字,而不是整个图) 以上的程序还有一个问题就是写上去的字,只要窗口动一下,或是被其它窗口挡住,字就会不在了。 如果将上面的代码换为: Graphics g=Graphics.FromImage(picuturebox.Image) 的话,倒是可以解决字不在的问题,也可以从Image中得到BitmapData,但是做出来的效果是整张图的,而不只是文字的,并不能实现我的要求。 请各位大侠出招。 【分享】在一块空间中鼠标中键平移缩放图像 winform webbrowser控件内嵌的HTML无法运行JS代码 短信猫发送短信问题 DockContent窗体无法显示 如何使用OleDb删除数据库数据 怎么进行多表删除呢,大家讨论一下好吧? 我用Salamander看了一下别人的控件比如dundas chart,它的一些类是无法反编译的,不知该如何实现,有兴趣的人请进来讨论 数据库中数据赋值问题 C#的编译环境是什么? 请教IndexOf如何用 求助:经常出现的.NET编译错误的原因是什么 Oracle9i 中BLOB类型对应的C#类型是什么? 怎么把*.bmp用C#存进Oracle9i
Graphics g=this.CreateGraphics();
假如在窗体的重绘事件中可以这样创建:
Graphics g=e.Graphics;
2、GDI+提供的两个类可以用于表示图象:Bitmap 类和Metafile类。这两个类都继承自Image类。
创建Bitmap对象的方法如下:
Bitmap bmp=new Bitmap (@"e:\rama.jpg")
3、Image类是一个抽象类,这表示不能直接创建Image对象——只能创建继承于它的Bitmap 类和Metafile类的实例。
4、使用Graphics 类把内存中的图象显示到绘图表面上
g.DrawImage(bmp,0,0)
所以Graphics 和Bitmap 是相互独立的,你直接操作Bitmap 对象就好,刷新后自然会显示的改变的图象
外边的pic要求超出范围加上滚动条
滚动的时候移动里面的pic
在你的pictureBox底下再放一个Panel,在吧picturebox的size属性改为AutoSize
,panel的AutoScroll设置为true就行了
3 g = Graphics.FromImage(bitmap);
我需要实现以下功能:
1、在一张原图在画上字
2、在字上面做一些效果(注:只是字做效果,原图并不做效果)
3、字和原图合并保存成一张新的图片(类似于PHOTOSHOP的图层功能)
我的程序如下:
Graphics g=picturebox.CreateGraphics();
Font fc = new Font("宋体",85, System.Drawing.FontStyle.Bold);
PointF pf=new PointF(200,200);
StringFormat sf=new StringFormat();
SolidBrush sb=new SolidBrush(Color.blue);
g.DrawString ("Text",fc, sb,pf,sf);
//以下实现效果的代码,由于实现效果的代码需要对BitmapData进行操作,
我现在就不知道如何将上面写的字转换为BitmapData(只是字,而不是整个图)
以上的程序还有一个问题就是写上去的字,只要窗口动一下,或是被其它窗口挡住,字就会不在了。
如果将上面的代码换为:
Graphics g=Graphics.FromImage(picuturebox.Image)
的话,倒是可以解决字不在的问题,也可以从Image中得到BitmapData,但是做出来的效果是整张图的,而不只是文字的,并不能实现我的要求。
请各位大侠出招。