社区
C#
帖子详情
GDI+问题,如何在图片上绘制文字
supper3000
2004-12-28 09:15:13
想在一个图片上的制定位置绘制一段文字,图片格式不限。请教如何实现
...全文
376
10
打赏
收藏
GDI+问题,如何在图片上绘制文字
想在一个图片上的制定位置绘制一段文字,图片格式不限。请教如何实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ma007
2005-01-12
打赏
举报
回复
mark
supper3000
2004-12-28
打赏
举报
回复
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。
源错误:
行 58: g.CompositingMode = CompositingMode.SourceOver;
行 59: }
行 60: bitmap.Save("image_new.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
行 61: }
行 62: }
源文件: c:\inetpub\wwwroot\gdi\webform1.aspx.cs 行: 60
我已经把文件夹的写权限打开了。
supper3000
2004-12-28
打赏
举报
回复
上面的问题已经解决,但是现在又有新问题了,我做的是BS结构的东西,现在无法存储,是什么原因?
supper3000
2004-12-28
打赏
举报
回复
无法从带有索引像素格式的图像创建 Graphics 对象。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Exception: 无法从带有索引像素格式的图像创建 Graphics 对象。
源错误:
行 52: {
行 53: Bitmap bitmap = new Bitmap("c:\\pic.bmp"); //参考MSDN
行 54: using(Graphics g = Graphics.FromImage(bitmap))
行 55: {
行 56: SolidBrush burshText = new SolidBrush(Color.Yellow);
第54行报告错误,不解,
tengjian1981
2004-12-28
打赏
举报
回复
up
兔子-顾问
2004-12-28
打赏
举报
回复
楼上的new b,运行效率应该很高。学习一下。
mobydick
2004-12-28
打赏
举报
回复
思路:
1.把需要画文字的图片放到内存中
2.把文字画上
3.保存画过文字的图片
Bitmap bitmap = new Bitmap(".\\image.bmp"); //Bitmap的构造函数参考MSDN
using(Graphics g = Graphics.FromImage(bitmap))
{
SolidBrush burshText = new SolidBrush(Color.Yellow);
g.DrawString("this is text", new Font("宋体", 9f), burshText, 0, 0);
g.CompositingMode = CompositingMode.SourceOver;
}
bitmap.Save("image_new.bmp", System.Drawing.Imaging.ImageFormat.Bmp);//参数参考MSDN
cpp2017
2004-12-28
打赏
举报
回复
System.Drawing.Image bmp = System.Drawing.Bitmap.FromFile("c:\\aa.bmp"); System.Drawing.Graphics g = Graphics.FromImage(bmp); g.DrawString("hello!",new Font("宋体",12),new SolidBrush(Color.Red),new System.Drawing.Rectangle(0,0,100,100)); bmp.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg); bmp.Dispose(); ____________________________ (2004年12月28日 09时22分59秒)
xinminhuibaobao
2004-12-28
打赏
举报
回复
在图片容器上花文字,然后控件执行保存。有帖子的。vb.net版有几篇这个问题的贴。
mobydick
2004-12-28
打赏
举报
回复
必须要有绝对路径吧,相对路径是相对于你的网站的路径,而存储时必须要存储到相对于本地的路径。
所以,必须写成"c:\\image_new.bmp"(例子),而且必须添加用户asp.net machine account的相应权限。
C#的
GDI
+
绘制
图形分层拖放操作源码
一个老外写的
GDI
+
绘制
图形的可以分层、大小缩放、可以进行颜色填充等支持原形、三角形、矩形、多边形以及直线和
文字
的
绘制
。
GDI
+
绘制
文字
自动换行
/// ///
绘制
文字
自动换行 /// /// 绘图图面 ///
绘制
文本 ///
绘制
字体 /// 字体颜色 /// 最大宽度,达到最大宽度则换行 /// 起始坐标 /// 段落高度间隔 /// 字体间隔
VFP调用
GDI
+在
图片
上写
文字
VFP调用
GDI
+在
图片
上写
文字
函数用法如下: SET PROCEDURE TO 程序1.prg AddTextToImage(原
图片
,写入
文字
,字体,
文字
大小,颜色,位置X座标,位置Y座标,输出文件名) 说明:输出文件的格式为jpg格式,输入格式不能为Gif格式
EMF查看器 支持半透明
GDI
+ 半透明
文字
EMF查看器,支持半透明。 一个小的测试软件,为了说明EMF文件也是可以支持半透明的。 压缩包里的两张EMF
图片
为半透明
图片
,可以用里面的EmfView.exe查看。 附上
GDI
+
绘制
半透明
文字
的方法: void Test2() { HDC hdc = GetDC(NULL); Metafile myMetafile(L"MyDiskFile.emf", hdc);//创建MyDiskFile.emf文件 ReleaseDC(NULL,hdc); Graphics myGraphics(&myMetafile); Image img(L"位图.bmp"); myGraphics.DrawImage(&img,0,0);//先画个位图,以便在上面画半透明
文字
,你也可以把"位图.bmp"换成其它格式 Pen myPen(Color(128, 0, 0, 200),20);//a,r,g,b myGraphics.SetSmoothingMode(SmoothingModeAntiAlias); myGraphics.DrawLine(&myPen, 0, 0, 100, 100);//再在位图上画条半透明直线 GraphicsPath myGraphicsPath; FontFamily myFontFamily(L"Times New Roman"); PointF myPointF(5.0f, 50.0f); myGraphicsPath.AddString(L"水印-版权所有", -1, &myFontFamily, 0, 54, myPointF, NULL); SolidBrush mySolidBrush(Color(50, 0, 255, 255));//透明度50 myGraphics.FillPath(&mySolidBrush, &myGraphicsPath);//通过对
文字
路径填充半透明画刷来实现半透明
文字
}
C#利用
GDI
+给
图片
添加
文字
(
文字
自适应矩形区域)
主要给大家介绍了关于C#利用
GDI
+给
图片
添加
文字
(
文字
自适应矩形区域)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
C#
110,567
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章