gpt4 book ai didi

user-interface - 黑莓中的类图形

转载 作者:行者123 更新时间:2023-12-02 07:46:47 25 4
gpt4 key购买 nike

请举例说明

的意思
public void drawBitmap(int x,
int y,
int width,
int height,
Bitmap bitmap,
int left,
int top)

Use this method to draw a bitmap. You specify the destination region
for the bitmap by describing the **extent** of the region
with passed parameters.

(问题 1)请清楚解释区域范围的含义

(问题2)
x - 目标区域的左边缘。

y - 目标区域的上边缘。

left - 要绘制的位图中区域的左边缘。

top - 要绘制的位图中区域的上边缘。

我对 x、y、左、上感到困惑。假设我想在自定义按钮的左边画一幅画。和我的

protected void paint(Graphics graphics) 

{

graphics.setColor(Color.RED);

graphics.fillRoundRect(1, 1, getWidth()-2, getHeight()-2, 12, 12);
int ph = onPicture.getHeight();

graphics.drawBitmap(0, 0, getWidth(), getHeight(), onPicture, 0, 0);
graphics.setColor(Color.GREENYELLOW);
int x = (bw/2 - labelWidth/2);
int y = (bh/2 - labelHeight/2);
graphics.drawText(label, x, 8);
}

其实我的问题是如果我写

graphics.drawBitmap(0, 0, getWidth(), getHeight(), onPicture, 10, 0);

代替

graphics.drawBitmap(0, 0, getWidth(), getHeight(), onPicture, 0, 0);

它给出了一个错误“找不到源代码”根据我的概念 x, y, getPrefferedheight(), getPrefferedWidth 给出了自定义按钮内的区域,可以在其中绘制创建的位图,因此我将值设置为 10 而不是 0,但它给出了错误源代码未找到.. ...任何人都可以帮助我我的概念有什么问题。

最佳答案

最容易想到的是 drawBitmap 只允许您绘制位图的一部分。参数指定您希望绘制到的矩形,以及您希望从位图中复制的矩形。所以区域的范围意味着您将要绘制的区域的宽度和高度,并由 width 指定。和 height参数。 xy指定要绘制的坐标,以及 lefttop指定要复制的位图图像中的左上角坐标。也就是说

graphics.drawBitmap(0, 0, getWidth(), getHeight(), onPicture, 10, 0);

将获取位图的一部分并将其绘制到目标图形对象的左上角(此上下文中的图形对象就是您要绘制的位置,将显示在屏幕上)。位图左边10个像素不会被绘制,将被绘制的区域为getWidth()。宽和getHeight()高的。相比之下,

graphics.drawBitmap(0, 0, getWidth(), getHeight(), onPicture, 0, 0);

将在相同的位置和相同的大小绘制,但不会剪切位图左侧的 10 个像素(而是会停止复制右侧较早 10 个像素的位图)。

也就是说,我认为这个调用并不是导致您看到的错误的真正原因。如果您遇到“未找到源代码”错误,那么很可能是在您进行更改后更新黑莓上的代码时出现问题。这通常可以通过进行干净的构建来纠正。在某些情况下,您甚至可能需要重置模拟器。您可以通过打开命令提示符、转到模拟器文件夹(在 <eclipse dir>/plugins/net.rim.ejde.componentpack.../components/simulator 中)并运行 clean.bat 来执行此操作。

关于user-interface - 黑莓中的类图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6451110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com