2011-08-22 181 views
2

我正在用PHP制作一个网站,用户上传图片作为他们的个人资料。我已经有这个工作很好。但是,我希望用户图像为圆形。从我看过的内容来看,我相信我不能将图像裁剪成一个圆圈,我不得不掩盖图像以使图像的一部分透明。我真的不知道从哪里开始。如果有人能指出我正确的方向,或者甚至有一些示例代码,我会非常感激!圆形图像?

+2

您是使用gd还是ImageMagick,或者您甚至已经获得了那么多? –

+0

这不是最具跨浏览器的解决方案,但可以使用CSS来完成。 – Bojangles

回答

3

只需将图像保存为正方形,然后使用圆角修剪图像。

您将图像设置为div中的背景图像,并将CSS设置为具有圆角(足以让您的div为圆形)。您也可以使用PIE将此CSS标记在IE 6-8上正常工作。有关更多详情,请参阅PIE网站。

http://css3pie.com/about/

+0

谢谢!我这样做,它的工作。 – user906357

+0

但是,这里是我如何获得用户图像。如何将用户图像放入div的背景? <?php $ check_pic =“members/$ id/image01.jpg”; $ default_pic =“members/0/image01.jpg”;如果(file_exists($ check_pic)){ $ user_pic =“”; } else { $ user_pic =“”; ? } > #apDiv20 {// 这里是我唯一的猜测/尝试但失败了 \t背景图像:<?PHP $ user_pic; ?>; \t border-radius:189px; \t position:absolute; \t width:378px; \t height:378px; } – user906357

+0

@ user906357你也可以在图像上做圆角。从未尝试过。 – dqhendricks

6

您不必如果你有一个一致的页面背景实际上编辑图像。假像这样...

<div style="width: 50px; height: 50px; background-image: url('path/to/user/image.jpg'); background-position: 0px 0px; background-repeat: no-repeat;"> 
    <img style="margin: 0px; padding: 0px; border: none;" src="path/to/circle/mask.png" alt="" /> 
</div> 

你也可以在你的样式表中加入相当多的标记(清理它)。