动态网站制作指南



当前位置 > 网站建设学院 > 网络编程 > C#应用 Rss
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket

C#用自定义或指定颜色填充矩形


发表日期:2010-4-27


用到某处要使用自定义颜色填充图像,貌似Graphics.FillRectangle方法只能用Brush来填充。但是常规Brush都是Brushes定义好的Brush,怎么办呢?

GOOGLE了下有两种方法:
一、用新SolidBrush填充
 

public void FillByColor(Rectangle rect,Color c,Graphics G){    G.FillRectangle(new SolidBrush(c), rect);}

 

参考文章:《如何:创建线性渐变》

 

二、用API实现指定颜色填充一个闭合区域(未测试)
用API实现指定颜色填充
using System.Runtime.InteropServices;[DllImport("gdi32.dll")]public static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);[DllImport("gdi32.dll")]public static extern IntPtr CreateSolidBrush(int crColor);[DllImport("gdi32.dll")]public static extern bool ExtFloodFill(IntPtr hdc, int nXStart, int nYStart, int crColor, uint fuFillType);[DllImport("gdi32.dll")]public static extern bool DeleteObject(IntPtr hObject);[DllImport("gdi32.dll")]public static extern int GetPixel(IntPtr hdc, int x, int y);public static uint FLOODFILLBORDER = 0;public static uint FLOODFILLSURFACE = 1;PRivate void button1_Click(object sender, EventArgs e){    Graphics vGraphics = Graphics.FromHwnd(Handle);    vGraphics.DrawRectangle(Pens.Blue, new Rectangle(0, 0, 300, 300));    vGraphics.DrawRectangle(Pens.Blue, new Rectangle(50, 70, 300, 300));    IntPtr vDC = vGraphics.GetHdc();    IntPtr vBrush = CreateSolidBrush(ColorTranslator.ToWin32(Color.Red));    IntPtr vPreviouseBrush = SelectObject(vDC, vBrush);    ExtFloodFill(vDC, 10, 10, GetPixel(vDC, 10, 10), FLOODFILLSURFACE);    SelectObject(vDC, vPreviouseBrush);    DeleteObject(vBrush);    vGraphics.ReleaseHdc(vDC);}
 

参考文章:http://www.csharpwin.com/csharpspace/9115r3566.shtml
 

 

(本文来源:http://www.cnblogs.com/allanswolf/archive/2010/04/22/1718217.html

关注此文的读者还看过:
·2012-5-22 19:02:46 C#异步的Socket通信(重构局域网聊天小工具)
·2012-5-22 19:02:33 如何用C#语言构造蜘蛛程序
·2012-5-22 19:02:28 c#不可忍受之慢——谁是罪魁祸首
·2012-5-22 18:59:57 C#减少图片文件大小和尺寸
·2012-5-22 18:57:42 c#获取真实IP和代理IP
·2012-5-22 18:56:25 国外C#开源系统一览表
·2012-5-22 18:55:12 利用C#进行AutoCAD的二次开发(一)
·2012-5-22 18:54:40 在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
·2012-5-22 18:53:50 用Visual C#动态生成组件
站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码
  发表评论
姓 名: 验证码:
内 容:
教程搜索服务
项目外包信息
·寻会php的程序员外包网站
·派桑网络-网络营销专家
·汽车配件网站制作 50000元
·整站SEO优化
·课件门户网程序
·求长期合作网站设计制作高手
·公司网站重新改版 8000元
·asp企业网站小改动
·网站flash片头
·文化传播公司网站设计稿
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·做B2C网站 20000元
发布信息 浏览信息
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<C#应用>的内容


网络编程文章分类
ASP教程
ASP实例
ASP技巧
ASP文摘
PHP教程
PHP技巧
PHP实例
PHP文摘
JSP教程
JSP技巧
JSP实例
JSP文摘
ASP.NET教程
ASP.NET技巧
ASP.NET实例
ASP.NET应用
xml教程
xsl教程
xml技巧
C#教程
C#应用
Delphi教程
Perl教程
Shell教程
Ajax教程
Visual Basic教程
Java教程
J2EE/J2ME教程
C/C++教程
移动解决方案
移动短信技术
移动行业动态
软件工程
WordPress
Android开发
站长工具:Google PR查询|Alexa排名查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|理财工具|黄金价格|购房银行按揭利率计算|汇率查询|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索|酒店预订|机票预订
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2012 www.knowsky.com All rights reserved | 沪ICP备05001343号