加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如何将图像边界更改为圆形

发布时间:2020-12-15 09:22:41 所属栏目:大数据 来源:网络整理
导读:我必须使用 Image作为通知.对于那个图像寄宿生应该是椭圆形的形状.任何人都可以帮我改变我的图像寄宿作为一个圆圈. ?我已经提到了一个示例图像10应该是一个图像组件.我可以得到它的圆形. 提前致谢. 你的拉克什 解决方法 const BORDER = 3;Var Bmp : TBitmap;
我必须使用 Image作为通知.对于那个图像寄宿生应该是椭圆形的形状.任何人都可以帮我改变我的图像寄宿作为一个圆圈.
?我已经提到了一个示例图像10应该是一个图像组件.我可以得到它的圆形.

提前致谢.
你的拉克什

解决方法

const
  BORDER = 3;
Var
  Bmp : TBitmap;
  w,h: Integer;
  x,y: Integer;
begin
  Bmp:=TBitmap.Create;
  try
    Bmp.PixelFormat:=pf24bit;
    Bmp.Canvas.Font.Name  :='Arial';                            // set the font to use
    Bmp.Canvas.Font.Size  :=20;                                 //set the size of the font
    Bmp.Canvas.Font.Color := clWhite;                           //set the color of the text
    w          :=Bmp.Canvas.TextWidth(IntToStr(sped1.Value));   //calculate the width of the image
    h          :=Bmp.Canvas.TextHeight(IntToStr(sped1.Value));  //calculate the height of the image
    Bmp.Width  := Max(w,h) + BORDER * 2;                       // get a square
    Bmp.Height := Max(w,h) + BORDER * 2;                       // get a square
    x          := (Bmp.Width  - w) div 2;                       // center
    y          := (Bmp.Height - h) div 2;                       // center
    Bmp.Canvas.Brush.Color := clBlue;                           //set the background
    Bmp.Canvas.FillRect(Rect(0,Bmp.Width,Bmp.Height));      //paint the background which is transparent
    Bmp.Canvas.Brush.Color := clRed;                            // circle in red
    Bmp.Canvas.Pen.Color   := clRed;                            // circle in red
    Bmp.Canvas.Ellipse(0,Bmp.Height);            // draw the circle
    Bmp.Canvas.TextOut(x,y,IntToStr(sped1.Value));            //draw the number
    img1.Picture.Assign(bmp);                                   // assign the bmp to the image ; image.transparent = true,.stretch = true;
  finally
    Bmp.Free;
  end;

根据您的需要调整不同的值…

从RRUZ更新了源代码

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读