2011-04-04 81 views
1

我有一张图片(资源),我想用于Android中的应用程序。但我只想绘制它的特定部分。我最初的想法是把它变成一个位图,并指定哪些像素需要绘制和在哪里。我试过canvas.drawBitmap(位图,src,dst,null);但它似乎并不奏效。也许我没有正确使用它。使用Canvas绘制位图片段

只是想知道是否有可能,我可以用什么来实现这个目标?

谢谢!

src = new Rect(20,40,20,40); 
dst = new Rect(20,40,20,40); 

canvas.drawBitmap(background, offset, 0, null); 
canvas.drawBitmap(bitmap, src, dst, null); 

我希望看到在SRC的坐标指定的区域被抽入DST的坐标指定的范围,但我看不到任何东西,除背景外。

+0

你在正确的道路上,你能发布你的代码吗? – bigstones 2011-04-04 18:46:24

回答

1

dst应该是您要在画布中绘制图像的位置,并且src应该是您要剪裁的Rect。

+0

谢谢!我懂了:)我的坐标需要一些调整。 – NVtool 2011-04-04 19:58:43

0

您可能希望使用支持alpha通道的格式,或者为alpha通道加载位图以及灰度图像,从两者构建图像并绘制该图像。尝试Java的Graphics2D对象。 Here是一篇应该让你开始的文章。

+1

这是Android,而不是Java – 2011-04-04 19:42:21

+0

@Marcos:我认为Android是建立在Java上的。 – MrGrigg 2011-04-04 19:44:55

+0

这是一个完全不同的API。这里没有Swing ow AWT。只是Android组件。 – 2011-04-04 19:48:01