使透明
大家好,小范来为大家解答以上的问题。使透明这个很多人还不知道,现在让我们一起来看看吧!
1、正好软糖做过这个软件^o^,切割图片并保存一堆小图片到FileName-###.png效果图软糖切图 - 核心代码using System;using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;using System.IO;namespace 软糖切图{ public class 网格精灵 { public string 文件地址; public string 输出目录; public string 输出后缀名 = @".png"; public static string 命名格式 = @"{0}_{1}_{2}"; public Bitmap 原始; public Bitmap 当前; public ImageFormat 图像格式; public Graphics 画板; public Color 透明色; public Pen 网格画笔 = new Pen(Color.FromArgb(255, 255, 0, 255), 2); public Color 无效区域色 = Color.White; public Brush 背景画刷 = new HatchBrush(HatchStyle.LightDownwardDiagonal, Color.White,Color.LightGray); public int OX = 0; public int OY = 0; public int W; public int H; public int iX; public int iY; public bool 显示网格 = true; public void 打开(string 文件地址) { 装载位图( new Bitmap(文件地址)); } public void 装载位图(Bitmap 位图) { 原始 = 位图; 图像格式 = ImageFormat.Png; 自动调整网格(); 当前 = new Bitmap(原始, 原始.Size); 画板 = Graphics.FromImage(当前); } public void 重新装载() { 当前 = new Bitmap(原始, 原始.Size); 画板 = Graphics.FromImage(当前); } public void 重新绘制() { if (原始 == null) { return; } 绘制位图(画板); 绘制网格(画板); } public void 调整网格线宽度(float 宽度) { if (宽度 <= 0) { 显示网格 = false; } else { 显示网格 = true; } 网格画笔.Width = 宽度; 重新绘制(); } private void 自动调整网格() { if (原始.Width < W) { W = 原始.Width; } if (原始.Height < H) { H = 原始.Height; } //计算格子数量 iX = (int)((原始.Width - OX) / W); iY = (int)((原始.Height - OY) / H); } private void 绘制位图(Graphics v画板) { v画板.Clear(无效区域色); if (当前 == null) { return; } Rectangle RECT = new Rectangle(0, 0, 当前.Width, 当前.Height); v画板.FillRectangle(背景画刷, RECT); v画板.DrawImage(原始, RECT); } private void 绘制网格(Graphics v画板) { //检查位图和格子宽高 if (当前 == null) { return; } if (显示网格 == false) { return; } if (W <= 0) { W = 32; } if (H <= 0) { H = 32; } //计算格子数量 iX = (int)((当前.Width - OX) / W); iY = (int)((当前.Height - OY) / H); //检查格子数量 if (iX < 1) { return; } if (iY < 1) { return; } //绘制网格线 int x1, x2, y1, y2; for (int x = 1; x <= iX + 1; x++) { x1 = (x - 1) * W - OX; y1 = 0; x2 = x1; y2 = 当前.Height; v画板.DrawLine(网格画笔, x1, y1, x2, y2); } for (int y = 1; y <= iY + 1; y++) { x1 = 0; y1 = (y - 1) * H - OY; x2 = 当前.Width; y2 = y1; v画板.DrawLine(网格画笔, x1, y1, x2, y2); } } public Color 取色(int x,int y) { if (当前 == null){ return Color.Black; } return 当前.GetPixel(x, y); } public void 开关透明(bool 透明) { if (当前 == null) { return; } //重新装载(); if (透明) { 当前.MakeTransparent(透明色); } 重新绘制(); } public void 裁剪() { //检查位图和格子宽高 if (当前 == null) { return; } if (W <= 0) { W = 32; } if (H <= 0) { H = 32; } //计算格子数量 iX = (int)((当前.Width - OX) / W); iY = (int)((当前.Height - OY) / H); //检查格子数量 if (iX <= 1) { return; } if (iY <= 1) { return; } //剪辑位图并保存 for (int y = 1; y <= iY; y++) { for (int x = 1; x <= iX; x++) { int i = x + (y - 1) * iX; Rectangle 源矩形 = new Rectangle( (x - 1) * W - OX, (y - 1) * H - OY, W, H); Rectangle 目标矩形 = new Rectangle(0, 0, W, H); Bitmap t剪辑 = new Bitmap(W, H, PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(t剪辑); g.DrawImage(当前, 目标矩形, 源矩形, GraphicsUnit.Pixel); g.Dispose(); string 路径 = Path.Combine(输出目录, 获取文件名(i) + 获取后缀名()); t剪辑.Save(路径, 图像格式); } } } private string 获取文件名(int ID) { string 文件名 = System.IO.Path.GetFileNameWithoutExtension(文件地址); string strID = ID.ToString(); string strDate = DateTime.Now.ToString("yyyyMMdd"); return string.Format(命名格式, 文件名, strID, strDate); } private string 获取后缀名() { return 输出后缀名; } }}调用方法精灵.打开(文件地址);精灵.W = 32; //每个分割方块的宽度精灵.H = 32; //每个分割方块的高度//精灵.透明色 = Color.FromArgb(255,255,255); //需要透明色就删掉注释//精灵.开关透明 = true;精灵.输出目录 = @"D:Out";精灵.裁剪();比如你的图片是50*50的,要分割成4张25*25的首先初始化4张bitmap。
2、然后遍历50*50的bitmap,利用Getpixel获取像素点,然后Setpixel给25*25的图片。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
“倾城一笑百眉生”是一句形容女性美貌的诗句,其中暗含了生肖解谜的趣味。要通过这句话推导出对应的生肖动物...浏览全文>>
-
“喂饭”与生肖的关联可以通过谐音或象征意义来解读。在中国传统文化中,“喂饭”可以联想到“犬”这个生肖,...浏览全文>>
-
“一人之下,万人之上,将军威权千里雄”这句诗描述了一种威严与权力的象征,结合生肖文化,最贴合的生肖是龙...浏览全文>>
-
这个谜语“月圆入圆家团圆,一六连结来相帮”描述了一个温馨和谐的画面,结合生肖的特点,答案是狗。诗意解读...浏览全文>>
-
“不知所措,心乱如麻。始信劲草胜娇花”这句描述中,“劲草”和“娇花”都具有象征意义。“劲草”坚韧不拔,...浏览全文>>
-
“假情假意”并不是直接与生肖相关联的成语,但它可以被用来形容某些生肖的性格特点或行为表现。以下从诗意的...浏览全文>>
-
按劳分配是中国社会主义初级阶段个人收入分配的基本原则之一,强调根据劳动者提供的劳动数量和质量来决定其所...浏览全文>>
-
“按劳分配”出自社会主义分配原则,意指根据个人付出的劳动量来决定所得报酬。结合生肖数字,“按劳分配”可...浏览全文>>
-
“海阔天空”是一个充满自由与广阔意境的成语,它象征着无拘无束、胸怀宽广的精神状态。结合生肖文化,这一成...浏览全文>>
-
“放虎归山”是一则成语,意思是将老虎放回山林,比喻把坏人或敌人放回去,可能会造成更大的危害。而将其作为...浏览全文>>
- 放虎归山打一动物生肖说的是什么动物,经典解答落实
- 望天而啼,天地清明。九微片片飞花开打一个生肖数字,第一解析落实
- 亡羊补牢打一生肖数字数字,已答解释落实
- 力壓羣雄,谁敢张狂?群雌粥粥尽仰望是什么生肖打一生肖动物精选解释解析落
- 试驾雷克萨斯LX,从预约到试驾的完美旅程
- 奥迪SQ5 Sportback预约试驾,线上+线下操作指南
- 试驾五菱凯捷有哪些途径
- MINI试驾,线上+线下操作指南
- 蒙迪欧试驾预约,4S店体验全攻略
- 大运悦虎试驾预约怎么预约
- AION S试驾,如何在4S店快速预约?
- 广汽传祺传祺向往M8试驾的流程是什么
- 长安欧尚520试驾预约操作指南
- 踏青归来马蹄香,一八追忆二难忘代表什么生肖,精准快答揭晓落实
- 半壁江山打一个正确的生肖,作答解释落实
- 屈指可数指什么生肖,科学答案落实
- 名冠古今世间稀打一个生肖,刚刚全面解释落实
- 未曾得向行人道打一个生肖打一种生肖,完美释义落实
- 阳春白雪打一个生肖,第一析释落实
- 灵蛇鼠洞一湖天是什么生肖打一动物精选最佳资料落实