Line
特定の 、Rectangle
またはBitmap
を使用して描画したいCanvas
。ビットマップ上に描画すると、正方形の空の背景も取得されます。
だから私はその特定Bitmap
の領域だけを描きたい.
Line
特定の 、Rectangle
またはBitmap
を使用して描画したいCanvas
。ビットマップ上に描画すると、正方形の空の背景も取得されます。
だから私はその特定Bitmap
の領域だけを描きたい.
希望の画像から「bmp1」という名前のビットマップを
作成する カスタム ビュー
を作成する クラスを作成し、View を次のように拡張します
class MyCustomView extends View{
private Rect m_ImageRect;
private Rect m_TextRect ;
//you need these constructor
//you can init paint object or anything on them
public MyCustomView (Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
m_Context = context;
}
public MyCustomView (Context context, AttributeSet attrs)
{
super(context, attrs);
m_Context = context;
}
public MyCustomView (Context context)
{
super(context);
m_Context = context;
}
//then override on draw method
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
//here frist create two rectangle
//one for your image and two for text you want draw on it
m_ImageRect = canvas.getClipBounds();
m_TextRect = canvas.getClipBounds();
//it gives you an area that can draw on it,
//the width and height of your rect depend on your screen size device
canvas.drawBitmap(your bitmap(bmp1), null, m_ImageRect , paint);
canvas.save();
canvas.clipRect(m_TextRect);
canvas.drawText("your text", the x position you want to start draw,
the y position you want to start draw, m_paintText);
canvas.restore();
}
}
最後にカスタムビューをレイアウトに配置し、フィールドを設定して、必要なものすべてを描画するためにビューに値を送信します
これがあなたが望むものではない場合、それがあなたの助けになることを願っています!
あなたのコードを投稿してください。多分私はあなたをもっと助けることができます