delphi 做一个圆形头像
方法一:用API,此方法做出来的效果稍差,边缘会带有锯齿,强迫证患者谨用.
procedure TForm1.FormCreate(Sender: TObject); var fhr: Thandle; begin fhr := CreateRoundRectRgn(0, 0, 195, 195, 195, 195); //195,头像尺寸 SetWindowRgn(Panel1.Handle, fhr, true); end;
设计图:

效果图:

方法二.自己用PS做一个PNG图片.
要求:
1.尺寸与头像容器一致
2.底色与父级容器底色一致
3.中间画一个圆,大小与你要求的头像的尺寸一致.
4.按delete去底色,使圆的部分透明.最后保存
优点:
此方法不需要代码.且边缘比较润滑.
缺点:
窗体底色容易受主题影响,与头像容器不一致时,很尴尬,
解决方案:
感谢群里大佬的指点:
选中想要免受主题影响的控件(窗体也算是一个控件),然后把 StyleElements-seClient设置为false,按业务需求,你也可以设置另外的seFont与seBorder
  
结构图:

效果图如下 ,需要你自己再美化一下,这里就不讲了:
  
感谢群里大佬的指点:
  
方法三,强烈推荐:
使用scGPImage控件,随便加载一个图片,并把ClipFrame属性设置为scgpcfEllipse即可出效果。




感谢群友提供的方案:

                    
                
                
            
        
浙公网安备 33010602011771号