我基本上需要重新创建这个页面:http://www.facebook.com/me/friends
但是:因为不是所有的图片都是真正的正方形,所以我需要获取它们的尺寸,以便使用css和隐藏溢出来裁剪它们(就像facebook基本上所做的那样)。我知道有一种方法可以检索正方形图像,但它们的大小是50px x 50px (我想要大的)。
我认为FQL可以做到这一点,也许它会从下面这样的东西开始:
fql?q=SELECT name, pic_big FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())发布于 2012-03-06 03:32:39
您可以从javascript获取图像尺寸,然后将它们强制定位为固定高度/宽度div中的背景图像。你可以在图片加载后通过javascript抓取图片的高度和宽度。
IMG加载请参阅:http://www.w3schools.com/jsref/event_img_onload.asp
下面是你要做的
<img onload="redoImage(this)" src="<%=user["pic_big"]%>" id="pic1">
或通过js
var img=new Image();
img.onload = redoImage();
img.src="<%=user["pic_big"]%>";然后,这是图像显示的真实位置,您将使用适当的偏移量设置它的背景图像,以使图像正确显示。需要一些数学运算才能知道如何得到偏移量x或偏移量y。
<div id="pic1-holder" style="width:120px; height:120px;"> </div>
function redoImage(this) {
var xOffset = computeXoffset(this.width, 120);
var yOffset = computeYoffset(this.height, 120);
// now set the background image of the div
// and the offset of that background image
};我的产品代码可以很好地做到这一点。祝你编码愉快。
https://stackoverflow.com/questions/9571374
复制相似问题