我的代码需要帮助。
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 n时,setXYByte说我只能使用int,int,int值。使用此代码,我只能将图像放大3倍或更多。对不起,我的英语不好。
发布于 2012-02-22 01:32:20
您可以将浮点值“转换”为整数,如下所示:
newImg.setXYByte((int) (n * x), (int) (n * y), p);强制转换会丢弃数字的小数部分,这样21.7就变成了21。
https://stackoverflow.com/questions/9381439
复制相似问题