高分求图片圆角、加边线等效果。

dcren118 2011-08-03 09:44:12
使用了ImageList控件,绑定代码如下ImageList.Images.Add(Image.FromFile("图片路径")); ,想实现的效果是让所有ImageList中的图片都实现四个角是圆角的效果 ,请高手指点 谢谢 !
...全文
293 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaofei830927 2011-08-12
  • 打赏
  • 举报
回复
第一种方法 直接用圆角图片 出图片部分其他地方为透明色
比如用png格式的图片可以做圆角 也可以直接被image加载
第二种方法有些复杂 需要你重绘控件 使图片在控件中呈现圆角 以后即使你改变图片 也会一直保持圆角
比如 重绘一个panel使之圆角且有边线 需要重写重绘方法

举例代码如下

private int Round = 8;

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e); //这里会绘image属性图片

e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;

DrawFormBorder(e.Graphics);
}

// 画边框
public void DrawFormBorder(Graphics g)
{
using(GraphicsPath formBorderPath = new GraphicsPath())
{
formBorderPath.AddArc(0, 0, Round, Round, 180, 90);
formBorderPath.AddArc(Width - Round - 1, 0, Round, Round, 270, 90);
formBorderPath.AddArc(Width - Round - 1, Height - Round - 1, Round, Round, 0, 90);
formBorderPath.AddArc(0, Height - Round - 1, Round, Round, 90, 90);

formBorderPath.CloseAllFigures();

using(Pen pen = new Pen(Color.Black))//这里可以改变边框的宽度 pen.Width
{
g.DrawPath(pen, formBorderPath);
}
}
}

//控件大小改变后 重新划定空间区域
protected override void OnResize(System.EventArgs e)
{
base.OnResize(e);

using(GraphicsPath formBorderPath = new GraphicsPath())
{
formBorderPath.AddArc(0, 0, Round, Round, 180, 90);
formBorderPath.AddArc(Width - Round, 0, Round, Round, 270, 90);
formBorderPath.AddArc(Width - Round, Height - Round, Round, Round, 0, 90);
formBorderPath.AddArc(0, Height - Round, Round, Round, 90, 90);

formBorderPath.CloseAllFigures();

this.Region = new Region(formBorderPath);
}

this.Invalidate(true);
}



有些东西要慢慢琢磨的
Just4life 2011-08-12
  • 打赏
  • 举报
回复
重绘图片 想什么样 就什么样
dongxy14 2011-08-12
  • 打赏
  • 举报
回复
读取图片,然后将图片重绘到bitmap上面,最后输出bitmap
dcren118 2011-08-12
  • 打赏
  • 举报
回复
dingdingding
dcren118 2011-08-12
  • 打赏
  • 举报
回复
graphic的clip属性 怎么设置 ?
feixuyue 2011-08-12
  • 打赏
  • 举报
回复
将graphic的clip属性设置成圆角矩形就行了,画出的图形就是圆角了
LMAOhuaNL 2011-08-07
  • 打赏
  • 举报
回复
我也觉得你应该在图片的基础之上去重绘,放到一个圆中,根据调颜色你就可以看出四个角都是圆角
dcren118 2011-08-07
  • 打赏
  • 举报
回复
顶起来。。。。。
  • 打赏
  • 举报
回复
你可以试着把每张图片都用gdi重绘过,把他放在一个圆形中,最终把他输出
大黄鸭在发光 2011-08-03
  • 打赏
  • 举报
回复
this.TransparencyKey = System.Drawing.Color.White;
这句话的意思是对本窗体所有白色地方做透明处理。
最后把你的图片改成圆角并且设成圆角设成白色就可以了
源码链接: https://pan.quark.cn/s/a4b39357ea24 在本研究中,我们将详细研究如何借助Python执行数据可视化,旨在剖析2018年期间中国四个主要城市——北京、上海、广州以及深圳的空气质量状况。通过绘制反映空气质量指数(AQI)与细颗粒物(PM2.5)变化趋势的图表,我们能够深入理解这些大都市全年的空气环境质量,并明确评估其优良天气所占的比重。 我们必须首先进行数据准备工作。在当前提供的压缩文件内,名为"2018天气"的文件极有可能是数据来源,其中可能收录了涉及四个城市每日空气质量监测的详细信息。这些数据通常涵盖日期、城市名称、AQI数值、PM2.5含量等核心参数。在Python编程环境中,我们惯常运用pandas库来对这类结构化数据进行高效的处理和分析。 1. **数据导入与初步处理**: - 利用`pandas.read_csv()`方法来导入存储为CSV格式的数据资料。 - 数据整理:对数据中的空白项、非正常数值进行修正,保证数据的精确性。 - 调整日期字段的格式,确保其能够适用于时间序列分析的需。 2. **数据深度分析**: - 针对每个城市的AQI和PM2.5数据执行统计性描述,例如计算平均值、中位数、标准偏差等指标。 - 确定空气质量良好天气的天数,即那些AQI值低于75(依据中国的空气质量评估标准)的日数。 3. **数据呈现**: - 运用matplotlib或seaborn工具绘制折线图,直观展示四个城市在2018年全年的AQI和PM2.5变化动态。 - 可通过采用不同的颜色方案和线条类型来区分不同城市的数据系列。 - 添必要的图示元素,如日期坐标轴、城市名称标注、图表标题及图例说明,以提升图表的可读...

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧