如何使image控件四周为圆角?

heikeyanxi 2009-05-03 02:07:13
因为图像是椭圆形的,如果窗体的背景颜色不是白色的,运行后就会看到图像四周有四个尖角,如何使image的边为圆角呢?
...全文
428 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz1001 2009-05-03
  • 打赏
  • 举报
回复
打酱油的
mdejtod 2009-05-03
  • 打赏
  • 举报
回复
当然有办法,不可这种方法比较笨了点,效果还可以。
可以将图片的四个角画上圆弧,并切掉多余的图像
1。建立一张背景图TBitmap,以某种颜色填充掉,然后使用GDI+的路径和画笔,在canvas 的四个角上画上圆弧
2。以另一种颜色填充此路径,然后将TBitmap 以填充色透明
3。将原始图像数据搬至该BMP上
由于这种方法搬移数据后,圆弧边缘的像素点无法完全透明,看起来还有杂色,可以在每个圆弧的边缘上多偏移拷贝两个像素点,这样看起来就举有杂色
不过,弧度就没那么圆滑了
不得闲 2009-05-03
  • 打赏
  • 举报
回复
如果要使Image为圆角,其实也很容易的
Image其实是从TGraphicControl继承而来,也就是说他本身就是使用的他的Parent的Canvas而已
所以只用自己设置一个椭圆区域,然后设置给Image的Canvas就可。
heikeyanxi 2009-05-03
  • 打赏
  • 举报
回复
因为我加载的是背景色为白色的gif图片,设置了透明度也无效
heikeyanxi 2009-05-03
  • 打赏
  • 举报
回复
我如果只想用圆角的方法解决有办法吗?
lihuasoft 2009-05-03
  • 打赏
  • 举报
回复
image1.Picture.Bitmap.TransparentColor := clWhite;
taxi 2009-05-03
  • 打赏
  • 举报
回复
用PNG可以吧,把椭圆以外的搞成透明的。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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