草庐IT

Android:如何在另一个位图上简单地绘制一个位图

我是Android开发的新手,我很难尝试做一些对我来说显而易见的事情:在较大的图像之上绘制小图像。假设我有一张500x500的图像,我想在不同的位置绘制图标。图标是我加载的png文件:Bitmapimg=BitmapFactory.decodeResource(getResources(),R.drawable.idIcon1)我的“背景图片”是LayerDrawable。然后,我完全迷路了......我必须创建一个Canvas吗?如何在我的“背景图片”上绘制不同位置的图标? 最佳答案 intpositionLeft=0;intpo

Android,想要以编程方式使用字符串引用数组中的位图

我正在寻找一种可以用来引用Bitmap[]中的图像的良好编程方式。此时,我在我的类中声明了一堆整数Bitmap[]mBmp=newBitmap[6]intimage1=0,image2=1,image3=2,someimage=3,otherimage=4,yetanoimage=5;然后我将它们引用如下:mBmp[someimage]...但是,这是低效的,我想(最好)根据它们的文件名(减去扩展名)或一些其他无法通过编程确定的唯一标识符来引用它们。这样做的原因是:图片数量任意文件名任意我想将流程自动化为模板。 最佳答案 我的建议是

android - 由于位图大小过大导致内存不足异常

由于虚拟内存堆大小有限,我遇到内存不足的问题。这是我从服务器获取位图的代码:@SuppressWarnings("unchecked")publicclassDrawableManager{@SuppressWarnings("rawtypes")privatefinalMapdrawableMap;@SuppressWarnings("rawtypes")privateDrawableManager(){drawableMap=newHashMap();}staticprivateDrawableManager_instance;staticpublicDrawableManager

android - 位图大小超出了 Android 上的 VM 预算错误

我正在将100张图片从Asset文件夹加载到一个数组对象中。图片非常小(每张png~20k),我使用这段代码来处理它,以防止内存泄漏和优化性能:在循环中://createresizedbitmapfromassetresourceInputStreamistr=assetManager.open(pics[i]);Bitmapb=BitmapFactory.decodeStream(istr);b=Bitmap.createScaledBitmap(b,240,240,true);其中pics[i]是我的Assets文件夹中的文件名列表。该代码适用于我,但我仍然不时收到用户的错误(我在

android - 使用位图字体显示和编辑文本

我现在面临的问题之一是显示复杂的文本(英语+波斯语/阿拉伯语)。同时具有英语和波斯语/阿拉伯语字母的文本未按正确顺序显示。为了解决这个问题,我创建了一个可以正确绘制这些复杂文本的位图字体库。现在我想将我程序的所有小部件中的所有文本转换为它们的等效位图。例如,如果我的程序中有一个TextView,我想获取它的文本,使用我的位图字体库将其转换为位图,最后在TextView中替换它。问题是找到一个通用的解决方案,它可以应用于任何可以显示文本的小部件,例如ListView、EditText、Menus...... 最佳答案 您可以尝试查看T

android - 使用 RemoteView 设置位图不起作用

我正在编写一个小部件,我需要下载并在布局上设置位图。我尝试过的一切似乎都不起作用。我现在创建了一个测试位图来设置View,[更新]这有效。Bitmap.Configconfig=Bitmap.Config.ARGB_8888;Bitmapbitmap=Bitmap.createBitmap(imageActiveWidth,imageHeight,config);Canvascanvas=newCanvas(bitmap);//LoadtheBitmaptotheCanvasPaintpaint=newPaint();paint.setColor(0xFFFFCCFF);canvas.

java - 无需外部 SD 卡缓存位图

图像不会缓存在内部存储器中,并且在没有外部SD卡的设备上会崩溃。我已经尝试了我所知道的,但没有任何效果。这是ImageCache.javapackagecom.minecraftpix.android.bitmapfun.util;importcom.minecraftpix.BuildConfig;importandroid.annotation.TargetApi;importandroid.content.Context;importandroid.graphics.Bitmap;importandroid.graphics.Bitmap.CompressFormat;impor

java - 将 uri 转换为位图时出现 "No content provider execution "错误

我正在尝试从Uri检索图像,首先我从图库中选择图像,然后使用Intent传递imagePath并尝试从Uri获取图像通过使用此代码-UriimgUri=Uri.parse(getIntent().getExtras().getString("imageUri"));Log.d(""+imgUri,"hereitis");InputStreamPIS;try{PIS=getContentResolver().openInputStream(imgUri);mImage=BitmapFactory.decodeStream(PIS);}catch(Exceptione){Log.d("go

java - 创建位图 NullPointerException

我的应用程序崩溃了,我似乎无法解决。我像这样从资源中获取位图。Bitmapbmp1=BitmapFactory.decodeResource(getResources(),R.drawable.map_distance_tag);现在,当涉及到从该位图创建位图时,这似乎在极少数设备上存在问题。例如……BitmapbmOverlay=Bitmap.createBitmap(bmp1.getWidth(),bmp1.getHeight(),bmp1.getConfig());当它在Bitmap类的第468行创建Bitmap时,我得到一个NullPointerException,我已经查看了

安卓 Canvas 。基于触摸沿圆形路径移动和旋转位图?

是否可以根据触摸事件沿圆形路径移动和旋转图像,如下所示:我看过这个问题:MovinganImageincircularmotionbasedontoucheventsinandroid但它只告诉我如何沿着一个圆圈移动图像,而不是旋转它。 最佳答案 更新:完整示例发布于GitHub在https://github.com/jselbie/xkcdclock每次获得触摸事件时,获取触摸点的x,y坐标并计算相对于位图中心的旋转角度。使用该值来确定要绘制的位图旋转多少。首先,我们假设一个逻辑坐标系,其中上述元素的中心点位于x,y空间中的(0,