Java-AffineTransform API:将图像缩放到最大 300*100 像素?

发布于 2024-10-28 11:33:12 字数 94 浏览 7 评论 0原文

我知道可以进行简单的缩放,但是如何将图像缩放到最大 300*100 像素?我搜索了 AffineTransform API 类,但找不到相应的方法。

提前谢谢

I know to do simple scaling, but how can i scale an image to a maximum of 300*100 pixels? i searched the AffineTransform API class but couldn't find a method for this.

thx in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏见 2024-11-04 11:33:12

我认为您需要通过计算什么比例将使您的高度达到 300 像素,宽度达到 100 来“回到”您的比例因子。

但是像这样的东西

double xScale = 100/image.getWidth();
double yScale = 300/image.getHeight();

AffineTransform transform = new AffineTransform();
transform.setToScale( xScale, yScale );
//paint code goes here

不会均匀地缩放它。为此,您需要对 x 和 y 使用相同的比例。因此,如果您想确保图像适合屏幕/显示器/页面,您将采用最宽的尺寸比例。
所以使用上面的例子...

double xScale = 100/image.getWidth();
double yScale = 300/image.getHeight();
double theScale = xScale > yScale ? xScale : yScale;

AffineTransform transform = new AffineTransform();
transform.setToScale( theScale , theScale );
//paint code goes here

这只是一个建议,希望它有所帮助。

I think you would need to "back into" your scale factor by figuring what scale will get your height to 300 pixels and your width to 100.

Something like

double xScale = 100/image.getWidth();
double yScale = 300/image.getHeight();

AffineTransform transform = new AffineTransform();
transform.setToScale( xScale, yScale );
//paint code goes here

This will not scale it uniformly though. To do that you need to use the same scale for x and y. So if you are trying to ensure your image fits on a screen/display/page you would take the widest dimension's scale.
so to use the above example...

double xScale = 100/image.getWidth();
double yScale = 300/image.getHeight();
double theScale = xScale > yScale ? xScale : yScale;

AffineTransform transform = new AffineTransform();
transform.setToScale( theScale , theScale );
//paint code goes here

This is just a suggestion though, hope it helps.

栀子花开つ 2024-11-04 11:33:12

根据相对于目标宽度/高度的图像宽度/高度计算变换因子。

编写一些代码,如果遇到问题,请提出具体问题。

Calculate the factors for the transform based on the image width/height relative to the target width/height.

Write some code and if you hit a problem, ask a specific question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文