Articles of android bitmap

捏缩放Xamarin中的图像

在Xamarin ,为图像启用缩放缩放的最佳方法是什么? 目前我只有一个将Bitmap图像作为图像的ImageView 。 我已经做了一些研究,我发现了一些例子,其中人们已经使用了其他一些库,但是在我开始编写这段代码之前,想要一些关于在图像上启用缩放缩放的最佳方法的建议。 那么,在Android对图像进行缩放缩放的最佳方法是什么,特别是Xamarin ? 预先感谢

将android.graphics.Bitmap转换为java.io.File

我想使用这样的多部分上传将已编辑的Bitmap图像上传到服务器, multipartEntity.addPart(“ProfilePic”, new FileBody(file)); 但我无法将Bitmap ( android.graphics.Bitmap )图像转换为File ( java.io.File )。 我试图将其转换为字节数组,但它也没有用。 有没有人知道android的内置function或任何将Bitmap转换为File的解决方案? 请帮忙…

android如何将pdf转换为图像并在imageview中加载

我正在开发一个Android应用程序从j son获取PDF并将PDF文件转换为图像并在图像视图上显示转换后的图像。 (不是Web视图或PDF查看器) 我需要将PDF转换为图像并将图像加载到imageview上。 那可能吗?? 我怎样才能完成这项任务。 我跟着这个和这个 。 感谢任何帮助..

RecyclerView和异步加载

我有一个小问题。 需要在正确的方向上轻推。 我正在做像Vine和/或Instagram这样的video编辑器。 他们在video中显示带有屏幕截图的时间轴 它只是根据video持续时间添加更多图片。 我为我的应用程序做的是我添加了一个recyclerView。 此recyclerview有一个适配器,每次在onBindViewHolder上调用以下函数 public Bitmap getFrameFromCurrentVideo(int seconds) { Bitmap bitmap = null; if(mMediaMetadataRetriever != null) { bitmap = mMediaMetadataRetriever.getFrameAtTime(seconds * 1000000, MediaMetadataRetriever.OPTION_CLOSEST); } return bitmap; } 这是有效的,它添加了我想要的适当数量的图像。 但问题是它在UI线程上太沉重了。 由于recyclerView回收所有东西。 它每次必须得到一个帧时就会滞后。 所以我认为我必须做一些异步任务,然后缓存图像。 但我读到的是AsyncTask不建议用于回收站视图,因为它可以循环使用。 那么我该如何才能提升表现呢? 有什么好主意吗?

为什么Bitmap在android中显示黑色背景

我写了一些代码女巫可以将tablelayout转换为bitmap.everythink工作完美但是,我的位图有黑色背景这是我的源代码 public Bitmap sendMyData(TableLayout view) { Bitmap bitmap = null; ByteArrayOutputStream bbb = new ByteArrayOutputStream(); view.setDrawingCacheEnabled(true); view.layout(0, 0, view.getWidth(), view.getHeight()); view.buildDrawingCache(true); bitmap = Bitmap.createBitmap(view.getDrawingCache()); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bbb); view.setDrawingCacheEnabled(false); return bitmap; } 我的代码出了什么问题?为什么我的位图有黑色背景? 如果有人知道解决方案,请帮助我谢谢

可以移动平铺背景吗? (使用TileMode.REPEAT进行无限滚动)

我正在开发一款游戏 首先我的游戏将非常简单,所以我宁愿不使用库或opengl或canvas,我宁愿用简单的图像视图或普通视图来实现这一点,或者至少以最简单的方式实现。 例如,使用android位图平铺模式: public static void setBackground(Bitmap bmp, ViewGroup layout){ BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp); bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); layout.setBackgroundDrawable(bitmapDrawable); } 我想开发一款简单的2D / 3D混合太空飞船游戏。 屏幕将是太空飞船驾驶舱的视野,你将移动宇宙飞船触摸我已经完成的操纵杆。 所以背景将是一个宇宙背景,我的意思是一个巨大的黑色图像与星星,这个图像必须移动到所有方向,操纵杆模拟太空船正在改变它的方向,当你向右移动很多时,例如,背景图像必须从头开始模拟太空船仍然向右移动而没有任何限制 正如我所提到的,我现在有了操纵杆,而且我知道如何用操纵杆移动一个imageview,问题是我不知道如何正确地创建一个带有瓷砖的无限图像视图,因为当我移动包含瓷砖图像的背景时然后图像从屏幕消失。 这是使用无限背景的图像示例:

为什么基本的Android应用程序内存中有数百个位图?

在构建我的第一个Android应用程序时,我注意到应用程序启动时内存使用率已接近20MB。 我下载了Eclipse MAT并查看了内容,以便在内存中find数百个(如果不是数千个)位图。 其中许多不直接在我的项目中使用(至少不是我所知道的那么多) 最大图像为9MB: https : //imagebin.ca/v/2eCK4JYLO2f2 其他更小: https : //imagebin.ca/v/2eCMmbFuIWsz Android似乎已经竭尽全力通过使用zygote来减少内存…那么为什么内存中已经有这么多未使用的位图呢? (基本项目是使用Android Studio的空白活动,片段由文本视图组成,简单地说“Hello World!”)

Alpha属性只适用于Android Lollipop,为什么?

这段代码仅适用于android API 21(棒棒糖)。 有没有办法在以前的版本中为drawable设置alpha?

在某些情况下,在Android上将图像扭曲为四边形会失败

我正在使用matrix.setPolyToPoly函数将位图的选定区域(4个角)转换为矩形,通常它工作得很棒。 但在下一个例子中: polyToPoly函数未通过透视变换: 我画了两行进行测试,这些线标记了我想要四个选定点的位置。 我做错了什么? 谢谢! 编辑 :我已经使用canvas.drawBitmapMesh解决了问题,感谢pskink的建议!! 这是最终的代码 private float[] generateVertices(int widthBitmap, int heightBitmap) { float[] vertices=new float[(WIDTH_BLOCK+1)*(HEIGHT_BLOCK+1)*2]; float widthBlock = (float)widthBitmap/WIDTH_BLOCK; float heightBlock = (float)heightBitmap/HEIGHT_BLOCK; for(int i=0;i<=HEIGHT_BLOCK;i++) for(int j=0;j<=WIDTH_BLOCK;j++) { vertices[i * ((HEIGHT_BLOCK+1)*2) + (j*2)] = j * widthBlock; vertices[i * ((HEIGHT_BLOCK+1)*2) + (j*2)+1] = i * heightBlock; } return vertices; } private […]

Android PNG到Bitmap – SkImageDecoder :: Factory返回null

我正在尝试从我的Environment.getExternalStorageDirectory()加载屏幕截图并尝试将其转换为位图 public void onPictureTaken(String path) throws IOException { String photoPath = filepath + “/” + path;; //UPDATE WITH YOUR OWN JPG FILE File directory = new File (filepath); File file = new File(directory, path); final BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; BitmapFactory.decodeFile(photoPath, options); // Calculate inSampleSize options.inSampleSize = 4; options.inJustDecodeBounds = false; BitmapFactory.decodeFile(photoPath, […]