资源简介
使用C#真正实现的透明控件,不是什么透明色或者仿背景色,直接把目标颜色给扣掉了,使用的是UI区域裁剪自定义方法,积分可能涨
代码片段和文件信息
using System;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
namespace UControlTran
{
public static class APub
{
static APub()
{
}
///
/// 根据图片计算GraphicsPath路径(低效率)
///
/// 图像资源
/// 欲透明掉的颜色
/// 路径画布已过滤掉了透明颜色
public static GraphicsPath ImageToGraphicsPath(Image imgxColor TranColor)
{
if (imgx == null) return null;
GraphicsPath g = new GraphicsPath(FillMode.Alternate);
Bitmap bitmap = null;
if (typeof(Bitmap) == imgx.GetType())
bitmap = (Bitmap)imgx;
else
bitmap = new Bitmap(imgx);
int ImWidth = bitmap.Width;
int ImHeight = bitmap.Height;
Color curColor;
Rectangle curRect = new Rectangle();
curRect.Height = 1;
bool isTransRgn;
for (int y = 0; y < ImHeight; y++)
{
isTransRgn = true;
for (int x = 0; x < ImWidth; x++)
{
curColor = bitmap.GetPixel(x y);
if (curColor == TranColor || x == ImWidth - 1)//如果遇到透明色或行尾
{
if (isTransRgn == false)//退出有效区
{
curRect.Width = x - curRect.X;
g.AddRectangle(curRect);
}
}
else//非透明色
{
if (isTransRgn == true)//进入有效区
{
curRect.X = x;
curRect.Y = y;
}
}//if curColor
isTransRgn = curColor == TranColor;
}
}
return g;
}
///
/// 根据图片计算Region路径(低效率)
///
/// 图像资源
/// 欲透明掉的颜色
/// 一个离散的路径信息
public static Region ImageToRegion(Image imgx Color TranColor)
{
if (imgx == null) return null;
Region rRegion = new Region();
rRegion.MakeEmpty();
Bitmap bitmap = null;
if (typeof(Bitmap) == imgx.GetType())
bitmap = (Bitmap)imgx;
else
bitmap = new Bitmap(imgx);
int ImWidth = bitmap.Width;
int ImHeight = bitmap.Height;
Color curColor;
Rectangle curRect = new Rectangle();
curRect.Height = 1;
bool isTransRgn;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 926 2017-02-07 15:41 UControlTran.sln
文件 7207 2017-02-07 16:31 UControlTran\APub.cs
文件 124416 2017-02-07 16:28 UControlTran\bin\Debug\UControlTran.exe
文件 34304 2017-02-07 16:28 UControlTran\bin\Debug\UControlTran.pdb
文件 14328 2017-02-07 16:28 UControlTran\bin\Debug\UControlTran.vshost.exe
文件 362 2017-02-07 16:02 UControlTran\Form1.cs
文件 3092 2017-02-07 16:02 UControlTran\Form1.Designer.cs
文件 5814 2017-02-07 16:02 UControlTran\Form1.resx
文件 4608 2017-02-07 15:54 UControlTran\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 615 2017-02-07 16:28 UControlTran\obj\Debug\UControlTran.csproj.FileListAbsolute.txt
文件 883 2017-02-07 16:02 UControlTran\obj\Debug\UControlTran.csproj.GenerateResource.Cache
文件 124416 2017-02-07 16:28 UControlTran\obj\Debug\UControlTran.exe
文件 180 2017-02-07 16:27 UControlTran\obj\Debug\UControlTran.Form1.resources
文件 34304 2017-02-07 16:28 UControlTran\obj\Debug\UControlTran.pdb
文件 113412 2017-02-07 16:27 UControlTran\obj\Debug\UControlTran.Properties.Resources.resources
文件 493 2017-02-07 15:41 UControlTran\Program.cs
文件 1374 2017-02-07 15:41 UControlTran\Properties\AssemblyInfo.cs
文件 3085 2017-02-07 15:54 UControlTran\Properties\Resources.Designer.cs
文件 6192 2017-02-07 15:54 UControlTran\Properties\Resources.resx
文件 1097 2017-02-07 15:41 UControlTran\Properties\Settings.Designer.cs
文件 249 2017-02-07 15:41 UControlTran\Properties\Settings.settings
文件 112946 2017-02-07 15:54 UControlTran\Resources\90.bmp
文件 4149 2017-02-07 16:27 UControlTran\UControlTran.csproj
文件 803 2017-02-07 16:28 UControlTran\UserControl1.cs
文件 1123 2017-02-07 15:54 UControlTran\UserControl1.Designer.cs
目录 0 2017-02-07 15:43 UControlTran\obj\Debug\Refactor
目录 0 2017-02-07 15:54 UControlTran\obj\Debug\TempPE
目录 0 2017-02-07 15:56 UControlTran\bin\Debug
目录 0 2017-02-07 16:28 UControlTran\obj\Debug
目录 0 2017-02-07 15:42 UControlTran\bin
............此处省略8个文件信息
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论