gpt4 book ai didi

coldfusion - 使用 ColdFusion 10 从底部和顶部平均裁剪图像

转载 作者:行者123 更新时间:2023-12-04 02:46:15 25 4
gpt4 key购买 nike

我一直在尝试使用 ColdFusion 10 以编程方式调整图像大小和裁剪图像。让我抓狂的是我无法让它从底部和顶部同样裁剪图像,同时在此过程中保持相同的宽度。

这是我目前拥有的,只是几行简单的代码:

    <cfimage source="images/test/airateapple.png" name="myImage" overwrite="yes">

<cfif ImageGetWidth(myImage) gte 1024>
<cfset ImageSetAntialiasing(myImage,"on")>
<cfset ImageScaleToFit(myImage,800,"","mediumquality")>
<cfif ImageGetHeight(myImage) gt 350>
<cfset sizeToCrop= ImageGetHeight(myImage) - 350>
<cfset ImageCrop(myImage,0, sizeToCrop
, ImageGetWidth(myImage)
, ImageGetHeight(myImage) )>
</cfif>

<cfset finalImage=myImage>
</cfif>

<!--- Display the modified image in a browser. --->
<cfimage source="#finalImage#" action="writeToBrowser">

例如,如果调整大小后图像高度为 500 像素,则应额外裁剪 150 像素。更具体地说,从底部裁剪 75px,从顶部裁剪 75px。可能吗?

最佳答案

<cfset sizeToCrop= ImageGetHeight(myImage) - 350>
<cfset ImageCrop(myImage, 0
, #sizeToCrop#
, #ImageGetWidth(myImage)#
, #ImageGetHeight(myImage)#
)>

如果你输出参数,你可以看到你的 yheight 值是关闭的。假设原始图像尺寸为 500px x 500px。现在您开始裁剪的高度太低(即 y=150px)并使用原始高度而不是所需的高度(即350px ).

       // current code (wrong)
ImageCrop(myImage, 0 , 150 , 500 , 500 )

要捕获图像的中心,您需要在 y=75(即多余高度/2)处开始裁剪。然后使用想要的高度(即350px),而不是原来的:

       // ImageCrop( img, x, y, width, height )
yPosition = (originalHeight - desiredHeight) / 2;
ImageCrop(myImage, 0, yPosition, originalWidth, desiredHeight );

关于coldfusion - 使用 ColdFusion 10 从底部和顶部平均裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18802245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com