Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry中的低级图形_Blackberry_Graphics_Canvas_Bitmapfield - Fatal编程技术网

Blackberry中的低级图形

Blackberry中的低级图形,blackberry,graphics,canvas,bitmapfield,Blackberry,Graphics,Canvas,Bitmapfield,大家好,我是Blackebry的新手。我想使用低级图形来绘制位图字段。在这个位图字段上,我需要执行三个操作- 选择位图字段, 在屏幕上沿任意方向拖动它,然后 最后在屏幕上的任意点释放它。 我怎样才能做到这一点。 如果“画布”可以成为解决方案。。。有人能帮我提供一些关于如何使用Canvas的示例代码吗 还有其他方法可以制作可拖动的位图字段吗 请帮助首先,您可以创建位图并从中获取图形对象,以便在其上进行自定义绘图 位图myBitmap=新位图宽度,高度; Graphics Graphics=Grap

大家好,我是Blackebry的新手。我想使用低级图形来绘制位图字段。在这个位图字段上,我需要执行三个操作-

选择位图字段, 在屏幕上沿任意方向拖动它,然后 最后在屏幕上的任意点释放它。 我怎样才能做到这一点。 如果“画布”可以成为解决方案。。。有人能帮我提供一些关于如何使用Canvas的示例代码吗

还有其他方法可以制作可拖动的位图字段吗


请帮助

首先,您可以创建位图并从中获取图形对象,以便在其上进行自定义绘图

位图myBitmap=新位图宽度,高度; Graphics Graphics=Graphics.createmyBitmap; //现在,您可以在API支持的图形上绘制任何内容 [已编辑]

我添加了一个代码片段,用于在屏幕上拖动图像。您可以检查此代码,如果它在您这边起作用

类MyScreen扩展了MainScreen{ 私有最终位图myBm; 私有int wBm; 私有int hBm; 私有int xBm; 私有int yBm; 私有布尔dragStarted; 公共MyScreen{ myBm=Bitmap.getBitmapResourceimg/myBitmap.png; 如果myBm!=null{ wBm=myBm.getWidth; hBm=myBm.getHeight; } } 受保护的void paintGraphics图形{ //需要调整屏幕上添加的项目的z索引。 超级绘画图形; 如果myBm!=null{ graphics.drawBitmapxBm、yBm、wBm、hBm、myBm、0、0; } } 受保护的布尔touchEventTouchEvent事件{ int x=event.getX1; int y=event.getY1; int eventCode=event.getEvent; 如果dragStarted==false&eventCode==TouchEvent.DOWN{ 如果isDragActivatedx,y{ //需要调整偏移量。 dragStarted=真; updateBitmapLocationx,y; } } 如果eventCode==TouchEvent.MOVE&&dragStarted{ updateBitmapLocationx,y; } 如果eventCode==TouchEvent.UP&&dragStarted{ dragStarted=false; updateBitmapLocationx,y; } //需要决定归还什么 返回true; } 私有void updatebitmaplocationnt xTouch,int-yTouch{ 如果xTouch!=xBm&&yTouch!=yBm{ xBm=xTouch; yBm=yTouch; 使无效 } } 私有布尔值isDragActivatedint x,int y{
return x>=xBm&&x=yBm&&y我已经尝试过这种方法。它使整个屏幕都可以拖动。我只想拖动tmage而不移动屏幕。实际上屏幕永远不会移动,如果你有触摸事件,你可以控制一切。我不确定你尝试过什么,你可以粘贴你的代码和你的问题尝试过的内容。