Articles of graphics

Android:BitmapFactory.decodeResource返回null

我似乎无法弄清楚这一点。 我有2个具有不同特性的java类,每个调用BitmapFactory.decodeResource来获得相同的图像资源,一个返回位图,而另一个返回null。 两个类都在同一个包中。 这里是工作的类,它调用BitmapFactory.decodeResource返回位图。 我只包括相关的代码。 package advoworks.test; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Rect; import android.util.Log; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; public class MainScreen extends SurfaceView implements SurfaceHolder.Callback { private static final String TAG = MainScreen.class.getSimpleName(); public MainScreen(Context context) { super(context); Bitmap bitmap; bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.droid_1); //adding the callback (this) […]

将AWTgraphics代码移植到Android

我们希望在Android平台上使用我们现有的一些Java AWTgraphics代码。 据我所知,Android不包括任何AWT类 – 没有Graphics2D , Path2D , FontMetrics等。 将我们的绘图代码移植到Android的最佳方法是什么? 理想情况下,我们希望修改我们的代码库,以便同时针对Android和genericsJava。

Android:最简单的方法来改变一个PNG文件的颜色

我正在写一个基本精灵(一个气球)的游戏 – 目前我有两个不同的彩色气球PNG文件,我已经创build了,我需要创build更多(可能是另外5个左右),不想有像7个不同的PNG文件。 (这将是20个额外的文件,因为我有4个不同大小的缩放目的)我宁愿坚持1 – 我目前有黄色和红色(几乎坚实,但不完全 – 他们有他们的细节)。 问题 – 有没有简单的方法来改变我现有的PNG文件的颜色? 我见过有人提到setColor和setColorFilter但我不能解决如何使用这些。 也将这些甚至工作在PNG文件已经有一个颜色,或者他们只工作在白色PNG文件(我不认为我的PNG可以实际上只是白色)? 谢谢大家的任何帮助,将不胜感激。

如何animationmatrix“剪出”一个图像?

我试图做一个图像查看器,当用户点击图像时,图像被“裁剪”,并显示完整的图像。 例如,在下面的截图中,用户最初只能看到小狗的一部分。 但是用户点击图片后,整个小狗就显露出来了。 第一个图像后面的图像显示了animation的结果。 最初,ImageView在X和Y中缩放为50%。当用户单击图像时,ImageView缩小到100%,并重新计算ImageViewmatrix。 我尝试了各种方法来计算matrix。 但我似乎无法find一种适用于所有types作物和图像的作品:将肖像裁剪为肖像,将风景裁剪为风景,将肖像裁剪为肖像,将裁剪后的肖像裁剪为风景。 这甚至有可能吗? 这是我的代码现在。 我试图find什么要放在setImageCrop() 。 public class MainActivity extends Activity { private ImageView img; private float translateCropX; private float translateCropY; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); img = (ImageView) findViewById(R.id.img); Drawable drawable = img.getDrawable(); translateCropX = -drawable.getIntrinsicWidth() / 2F; translateCropY = -drawable.getIntrinsicHeight() / 2F; img.setScaleX(0.5F); img.setScaleY(0.5F); img.setScaleType(ScaleType.MATRIX); […]

使用移动手势绘制矩形

我正在尝试创build一个矩形,但是这是当我从开始坐标移动到结束坐标时发生的情况 ,实际上我想显示用户从一个点到另一个点的进度。这就是我想要的。 。 码:- public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: downx = event.getX(); downy = event.getY(); //v.invalidate(); break; case MotionEvent.ACTION_MOVE: upx = event.getX(); upy = event.getY(); canvas.drawRect(downx, downy, upx, upy, paint); } choosenImageView.invalidate(); break; case MotionEvent.ACTION_UP: upx = event.getX(); upy = event.getY(); canvas.drawRect(downx, downy, upx, […]

OpenGL(ES) – 平截体和正射之间有什么区别?

当我用相同的参数使用它们中的每一个时,我注意到的唯一区别是“摄像机”距离物体有多近。 这里有什么不同,哪个主要是2D游戏的首选?

检查与自己的android.graphics.path交集

我想检查是否(如果是的话,碰撞是在哪里(x,y) – 只是为了突出显示)path本身是相交的。 这也将是非常有趣的,我如何检查path是否与另一个path相交。 下面是一个截图,以更好地解释我的意思: http://img.androidcookie.com/android/JrEmN.png

我可以在graphics布局编辑器中预览操作栏吗?

我注意到,所有的ApiDemos在运行时以编程方式构造Action Bar。 我希望能够在graphics布局编辑器中看到具有图标甚至标签的操作栏。 是否可以在布局编辑器中预览动作栏,还是需要在运行时与声明性地在XML中构build动作栏? 如果是这样,为什么这个限制? 我知道你可以在一个单独的XML文件中声明Action Bar项目 ,但是我没有看到任何logging的机制将菜单文件中的操作栏项目连接到特定的布局。 我没有看到在布局中声明“操作栏”选项卡的任何提及。

在opengl ES 2.0驱动程序上使用irrlicht android

我正在学习在Android上使用Irrlicht 。 上个月我一直在开发基于openGL es 1.0的驱动,效果很好(我使用1.0,因为当我试图运行基于驱动es 2.0的例子时,结果变得非常奇怪)。 加载网格是好的,但让我困惑的是纹理无法正确显示。 渲染代码如下: smgr = device->getSceneManager(); guienv = device->getGUIEnvironment(); stringc myDir = gSdCardPath; myDir += "/Irrlicht"; device->getFileSystem()->changeWorkingDirectoryTo(myDir.c_str()); stringc sydneyFilename = "/Irrlicht/sydney.md2"; mesh=smgr->getMesh("/sdcard/Irrlicht/sydney.md2"); if (!mesh) { device->drop(); __android_log_print(ANDROID_LOG_INFO, "Irrlicht", "cannot getMesh"); return; } nodeSydney = smgr->addAnimatedMeshSceneNode(mesh); if (nodeSydney) { nodeSydney->setMaterialFlag(EMF_LIGHTING, false); nodeSydney->setMD2Animation(scene::EMAT_STAND); stringc sydneyTextureFilename = "/Irrlicht/sydney.bmp"; texture=driver->getTexture("/sdcard/Irrlicht/sydney.bmp"); if (!texture) LOGI("sydney.bmp load […]

Opengl ES 1.1 / Android – 2011年的纹理映射到一个平方的崩溃

我正在尝试将纹理映射到纹理延伸至正方形的正方形上。 目前纹理贴图,但它没有映射到正确的位置和OGL执行一些歪斜或这样的,我不知道。 图像是64×64,我试过的广场是从-2到2(hor和ver)和-1到1.这里是图像: 纹理代码是: float texture[] = { 0,0,0,1, 1,0,1,1 }; ByteBuffer byteBuf = ByteBuffer.allocateDirect(texture.length * 4); byteBuf.order(ByteOrder.nativeOrder()); FloatBuffer textureBuffer = byteBuf.asFloatBuffer(); textureBuffer.put(texture); textureBuffer.flip(); int[] buffer = new int[1]; gl11.glGenBuffers(1, buffer, 0); textureCoordPointer = buffer[0]; gl11.glBindBuffer(GL11.GL_TEXTURE_COORD_ARRAY, textureCoordPointer); gl11.glBufferData(GL11.GL_TEXTURE_COORD_ARRAY, textureBuffer.capacity() * 4, textureBuffer, GL11.GL_STATIC_DRAW); gl11.glBindBuffer(GL11.GL_TEXTURE_COORD_ARRAY, 0); Bitmap bitmap = BitmapFactory.decodeResource(context .getResources(),R.drawable.afd); int textures[] = new int[1]; […]