2012-02-21 16 views
0

私のコードで助けが必要です。Java画像ズーム

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と書くと、setXYByteint,int,intの値しか使用できないと言います。このコードでは、画像を3倍以上しか拡大できません。私の悪い英語を申し訳ありません。

+0

*「申し訳ありませんがなるように

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

鋳造は、数の小数部を破棄"*私は悪い英語を見過ごすだろうが、怠惰ではない。読者のために大文字を使いましょう:1)すべての文章の最初の文字2)「私」3)英語のような適切な名前(またはクラス名など)。 –

答えて

0

あなたは「キャスト」することができ、このようにint型に浮動小数点値を:21.7のようなものが私の悪い英語のための21