2017-02-24 2 views
0

ImageViewに画像を読み込んだ後、ImageViewで複数の50x50ピクセルの四角形を描画するアプリケーションを実行しています。ここで私が話してんだよ:キャンバスに描画するとプログラム的に画像が移動する

enter image description here

enter image description here

私は正方形を作るために使用するコードは、このいずれかになります。

private void splitImage() { 


    Bitmap aux = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(aux); 
    imgView.draw(c); 

    Paint p = new Paint(); 
    p.setColor(Color.BLACK); 

     for (int xCoord = 0; xCoord < width; xCoord += 50) { 

      c.drawLine(xCoord, 0, xCoord, height, p); 

     } 

    for (int yCoord = 0; yCoord < height; yCoord+=50){ 

     c.drawLine(0, yCoord, width, yCoord, p); 

    } 

    imgView.setImageResource(0); 

    imgView.setImageBitmap(aux); 

} 

あなたは前にこの問題を見ましたか?

+0

「幅」と「高さ」は何ですか?元の 'Bitmap'のサイズ?そうであれば、 'imgView.draw(c);の代わりに' c.drawBitmap'を使います。 – pskink

+0

@pskinkの幅と高さはImageViewに表示されている画像のピクセル単位の寸法です。 drawBitmapで試してみます。ありがとう! –

+0

私はc.drawBitmapを使用した場合のように見えますが、何も表示されません –

答えて

0

@pskinkの助けを借りて問題は解決されました。 imgView.draw(c)の代わりに私はc.drawBitmap(bm、0、0、p)を使いました。

関連する問題