更新图像并调整它们的错误
Updating an Image and resize them faults
我正在通过 ajax 上传图片,并希望立即在用户个人资料图片元素中更新它们。
它有效,但问题是,在我刷新网站 1-2 次之前,图像无法完美移动。
var t = new Date().getTime(),
avatar = $("img.user-avatar"),
src = avatar.attr("src");
src = src.substr(0, src.indexOf("?") > 0 ? src.indexOf("?") : src.length);
avatar.attr("src", src + "?" + t);
resizeAndMoveAvatar();
resizeAndMoveAvatar() 函数如下所示:
function resizeAndMoveAvatar()
{
var Avatar = $("img.user-avatar");
var w = Avatar.width(), h = Avatar.height();
Avatar.css({
'max-width': 'none',
'max-height': 'none'
});
if(w > h) {
Avatar.css('max-height', 32);
w = Avatar.width();
Avatar.css('left', -(w/2 - 32/2));
}
else if(h > w) {
Avatar.css('max-width', 32);
h = Avatar.height();
Avatar.css('top', -(h/2 - 32/2));
}
else {
Avatar.css({width: 32, height: 32});
}
}
当我更新它时,它看起来像这样:
但它应该是这样的:
有什么解决这个问题的建议吗?
谢谢!
正如@Celt 要求我的解决方案:
我像以前一样更新图像,唯一的变化是我不再使用 resizeAndMoveAvatar 函数,因为我需要的图像已经调整大小并通过 PHP-Script
移动到中心
对我来说效果很好
我的class:http://pastebin.com/DffcfnyC
像这样使用:
$Img = new Image("path/to/image.png"); // creating an instance
$Img->Square(); // center the image
$Img->Resize(32, 32); // resize it
$Img->Save("path/to/destination/image.png"); // and finally save it
喜欢
我正在通过 ajax 上传图片,并希望立即在用户个人资料图片元素中更新它们。
它有效,但问题是,在我刷新网站 1-2 次之前,图像无法完美移动。
var t = new Date().getTime(),
avatar = $("img.user-avatar"),
src = avatar.attr("src");
src = src.substr(0, src.indexOf("?") > 0 ? src.indexOf("?") : src.length);
avatar.attr("src", src + "?" + t);
resizeAndMoveAvatar();
resizeAndMoveAvatar() 函数如下所示:
function resizeAndMoveAvatar()
{
var Avatar = $("img.user-avatar");
var w = Avatar.width(), h = Avatar.height();
Avatar.css({
'max-width': 'none',
'max-height': 'none'
});
if(w > h) {
Avatar.css('max-height', 32);
w = Avatar.width();
Avatar.css('left', -(w/2 - 32/2));
}
else if(h > w) {
Avatar.css('max-width', 32);
h = Avatar.height();
Avatar.css('top', -(h/2 - 32/2));
}
else {
Avatar.css({width: 32, height: 32});
}
}
当我更新它时,它看起来像这样:
但它应该是这样的:
有什么解决这个问题的建议吗?
谢谢!
正如@Celt 要求我的解决方案:
我像以前一样更新图像,唯一的变化是我不再使用 resizeAndMoveAvatar 函数,因为我需要的图像已经调整大小并通过 PHP-Script
对我来说效果很好
我的class:http://pastebin.com/DffcfnyC 像这样使用:
$Img = new Image("path/to/image.png"); // creating an instance
$Img->Square(); // center the image
$Img->Resize(32, 32); // resize it
$Img->Save("path/to/destination/image.png"); // and finally save it
喜欢