Javascript 缩放图像以最佳匹配帧(div)的算法
我数学很差。我是一名网络程序员,通常我的工作不涉及太多的数学——更多的是将记录放入数据库,取出报告,制作那些花哨的网页等等。所以,我有一个任务对我来说是“数学”,但我希望你们中的一些数学人能从中受益,你会帮我的…这对你来说可能是个有趣的问题,对我来说太复杂了 所以最近我得到了这个任务,我得到了一个图像,上面有一个区域标记。该区域将标记为左上像素(x1,y1)和右下像素(x2,y2) 因此,对于图像,我有以下信息:Javascript 缩放图像以最佳匹配帧(div)的算法,javascript,php,algorithm,math,mathematical-optimization,Javascript,Php,Algorithm,Math,Mathematical Optimization,我数学很差。我是一名网络程序员,通常我的工作不涉及太多的数学——更多的是将记录放入数据库,取出报告,制作那些花哨的网页等等。所以,我有一个任务对我来说是“数学”,但我希望你们中的一些数学人能从中受益,你会帮我的…这对你来说可能是个有趣的问题,对我来说太复杂了 所以最近我得到了这个任务,我得到了一个图像,上面有一个区域标记。该区域将标记为左上像素(x1,y1)和右下像素(x2,y2) 因此,对于图像,我有以下信息: Image Width (iw) Image Height (ih) Image
Image Width (iw)
Image Height (ih)
Image Area Top Left (x1,y1)
Image Area Bottom Right (x2,y2)
现在有了一组帧,每个帧都有帧宽(fw)
和帧高(fh)
。我的工作是找到一种最佳的方法来适应帧内的图像区域,而不需要在帧内有任何空白区域,如果需要,可以使用图像缩放
因此,我将其分解为以下任务:
Image Area>Frame
,我应该将图像缩小(到a%)。如果图像区域
我应该放大图像imageX=Image.width()
imageY=Image.height();
imageRatio=imageX/imageY;
frameX=Frame.width();
frameY=Frame.height();
frameRatio=frameX/frameY;
if(成像比<井比)
{
比例=图像x/井x;
}
其他的
{
比例=图像/井;
}
resizeX=(图像x/比例);
resizeY=(图像Y/比例);
然而,我不知道如何将其与整个画面联系起来
有人能帮我吗?我已经尝试了一个多星期都没有成功:(我使用的是PHP和Javascript,我对这两种技术非常熟悉。通常我可以解决我每天遇到的大多数涉及到它们的问题,但这是我的头绪。听起来优先考虑的是先填充框架,这样你就不会有任何图像的字母框了 最好的方法是寻找较短的一面,并使用CSS拉伸该面以填充帧。这将保留纵横比,但可能会切断图像的一部分
$('img').css(this.width > this.height ? 'height' : 'width', '100%');
你不允许使用css吗?@KjellIvar-不,因为从技术上讲,我需要将重新计算的x1,y1和x2,y2以及比例因子传递给另一个API
$('img').css(this.width > this.height ? 'height' : 'width', '100%');