繁体   English   中英

Java图像缩放

[英]Java image zoom

我的代码需要帮助。

int width = img.getXDim();
int height = img.getYDim();
int n = 3;

Image newImg = new ByteImage(width * n, height * n, 1);

        for(int x = 0; x < width; x++){
    for(int y = 0; y < height; y++){

    int p = img.getXYByte(x, y);

    newImg.setXYByte(n * x, n * y, p);
    newImg.setXYByte(n * x + 2, n * y, p);
    newImg.setXYByte(n * x, n * y + 2, p);
    newImg.setXYByte(n * x + 2, n * y + 2, p) ;  `

我的问题是,我想更改n值(分别为2、9或0.5),以便可以放大或缩小图像。 但是,当我为十进制数写float nsetXYByte说我只能使用int,int,int值。 使用此代码,我只能将图片放大3倍或更多倍。 对不起,我的英语不好。

您可以像这样将“浮点”值“转换”为整数:

newImg.setXYByte((int) (n * x), (int) (n * y), p);

强制转换会丢弃数字的小数部分,因此21.7变为21。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM