Articles of android bitmap

有没有得到uri的位图,将它保存到SD卡?

我制作了一个应用程序,允许用户使用android意图共享图像,但如何获得该uri 一个位图,无需将其保存到SD卡i 我使用这个代码工作正常,但我不需要将此位图保存到SD卡 private Uri getImageUri(Context inContext, Bitmap inImage) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, “title”, null); return Uri.parse(path); } 我需要把那个uri用来保存那个位图到SD卡

从WebView保存图像

我会尽量做空 – 所以我正在创建这个应用程序,将图像上传到自定义Webview ,绘制canvas并保存。 现在我成功地执行了所有操作,直至保存它。 我尝试了很多不同的方法,但都没有。 我从Url保存未经编辑的图像: public void DownloadFromUrl(String fileName) { //this is the downloader method try { URL url = new URL(wv2.getUrl()); //you can write here any link File file = new File(fileName); Canvas canvas = new Canvas(); wv2.draw(canvas ); long startTime = System.currentTimeMillis(); Log.d(“ImageManager”, “download begining”); Log.d(“ImageManager”, “download url:” + url); Log.d(“ImageManager”, […]

在Android中使用canvas和位图,如何获得这个图像?

我在android中是新的。 我想绘制这个图像(匹配统计) 并用10%到100%的颜色填充图像。 我试了这么多,这是形象 这是代码 public class DrawView extends View { Paint paint = new Paint(); public DrawView(Context context) { super(context); } @Override public void onDraw(Canvas canvas) { paint.setColor(Color.BLACK); paint.setStrokeWidth(3); canvas.drawRect(30, 30, 100, 100, paint); paint.setStrokeWidth(0); paint.setColor(Color.GRAY); canvas.drawRect(33, 60, 97, 97, paint); paint.setColor(Color.WHITE); canvas.drawRect(33, 33, 97, 60, paint); } 任何build议对我来说都是很有帮助的。 提前致谢。

水平或垂直翻转位图图像

通过使用这个代码,我们可以旋转图像: public static Bitmap RotateBitmap(Bitmap source, float angle) { Matrix matrix = new Matrix(); matrix.postRotate(angle); return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true); } 但是,我们怎样才能水平或垂直翻转图像?

MediaStyle LargeIcon的大小

我正在使用新的Notification.MediaStyle类实现一个棒棒糖风格的通知到FTPstream式音乐播放器应用程序。 我将专辑封面设置为我的“大图标”。 鉴于专辑封面是直接从当前正在播放的文件中获取的,该专辑封面的大小因来源而异(可能高达5000×5000)。 从我的前棒棒糖代码我解码位图的最大尺寸定义为: android.R.dimen.notification_large_icon_width 和 android.R.dimen.notification_large_icon_height 这工作得很好,因为解码时间要快得多,而且内存的使用也是理想的 但是,将此代码应用于我的MediaStyle样式时,展开的视图使用比尺寸参数定义的图标大得多的尺寸,从而在展开时导致模糊的专辑图样。 是否有一些常数来定义MediaStyle大图标的展开视图的最大大小? 还是有一些解决这个问题? 就目前而言,以全分辨率对艺术进行解码是不可接受的,因为它可能导致应用程序由于OOM而崩溃。

Android模糊视图(背后的模糊背景)

我正在尝试在图像顶部对图像进行模糊处理。 我尝试使用Rendenscript模糊它,但我不能仅模糊视图背后的部分。 🙁 我看过很多图书馆,但几乎所有的图书馆都模糊了整个图像,但不是它的一部分。 另外,一个重要的部分就是我在ViewPager中使用它,因此需要在IOS中像这样快速和dynamic地重绘它自身背后的瞬间图像。 任何帮助表示赞赏。 感谢您的阻止! 我的xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" > <ImageView android:id="@+id/image" android:src="@drawable/broadstairs" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:layout_centerInParent="true"/> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="200dp" android:text="Hello World" android:gravity="center" android:layout_alignParentBottom="true" android:textColor="@android:color/white" android:textStyle="bold" android:textSize="36sp"/> </RelativeLayout> 我的代码: BlurBuilder.java public class BlurBuilder { private static final float BITMAP_SCALE = 0.1f; private static final float BLUR_RADIUS […]

如何更改android评分吧星星?

我试图通过创build新的风格来改变我的评级栏的星星,这是我做的: <style name="RatingBarSmall" parent="android:Widget.DeviceDefault.Light.RatingBar.Indicator"> <item name="android:progressDrawable">@drawable/rating_bar</item> <item name="android:minHeight">36dp</item> <item name="android:maxHeight">36dp</item> </style> 绘制/ rating_bar: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background" android:drawable="@drawable/rating_star_empty" /> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/rating_star_empty" /> <item android:id="@android:id/progress" android:drawable="@drawable/rating_star_filled" /> </layer-list> 评级栏xml视图: <RatingBar android:id="@+id/ratingBar" style="@style/RatingBarSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:isIndicator="true" android:rating="5" /> 这里是拖影: 但我不知道为什么我在星星下面有垂直线条,你可以看到下面的图片: 编辑:解决:我只是设置评级栏高度作为图像的高度。 谢谢

在HPROF之后,我的应用程序中有巨大的字节

有时,特别是在我的应用程序中实现新的function时,我使用DDMS + HPROF来分析内存和堆的使用。 由于该应用程序似乎没有任何性能ANR问题,一切工作顺利,最初我不关心它 – 但现在,因为我看到它大致总是相同的大小,我想知道该死的是什么是。 每次我运行一个HPROF,我检查泄漏可疑标签。 总是有一个android.graphics.Bitmap实例占用所有使用的堆的大约25%。 我想进一步了解这个,所以我打开了支配树 ,看到这个: 所以实际上有一个巨大的byte[]实例,它保留了大量的堆,并且永远不会被释放。 据此,我复制了byte[]的值,将其转储到.data文件中,用Gimp打开,结果是: 所以基本上,它看起来像PNG图像的“alpha(0)”部分。 考虑到以下事实: 我所有的图片文件大小都小于8K 其中一些是PNG – 剩下的我可以转换成JPG,我也是 没关系,如果我添加更多的图像,该byte[]的大小总是大致相同从应用程序的开始(4个月前) 为了debugging它,我试图从drawable和drawable-xxx文件夹中删除任何图像文件,并运行该应用程序,没有任何可绘制的资源,并且byte[]仍然存在 我删除了几乎所有的布局,只让基本的function,和相同的结果 在Dominator树中 ,根类是android.graphics.Bitmap 任何人都知道这是什么byte[] ,如果我应该做任何事情来释放它? 任何帮助感激!

BitmapFactory.decodeResource和莫名其妙的内存不足

我得到一个奇怪的内存错误解码一个可绘制的图像资源960x926px jpg,分配3555856字节。 该图像只能放置在drawable-xxhdpi(3x)中,而我正在使用hdpi(1.5x)设备。 两个问题: 为什么我在堆中有足够的空闲内存时会出错? ((960/2)x(926/2))x 4 = 888960字节(而不是3555856)分配一个hdpi设备? 有人能解释我吗? 注意:问题是关于为什么获得一个3.5MB的空间分配,而有22.5MB的空闲内存(见日志) 03-18 17:30:15.050 32750-32750 /? D / dalvikvm:GC_FOR_ALLOC释放10809K,49%免费23735K / 46087K,暂停89ms,总计89ms 03-18 17:30:15.050 32750-32750 /? I / dalvikvm-heap:强制收集SoftReferences的3555856字节分配 03-18 17:30:15.160 32750-32750 /? D / dalvikvm:GC_BEFORE_OOM释放29K, 49%免费23705K / 46087K ,暂停103ms,总共103ms 03-18 17:30:15.160 32750-32750 /? E / dalvikvm-heap: 3555856字节分配的内存不足 。 03-18 17:30:15.160 32750-32750 /? I / dalvikvm:“main”prio = […]

在Android上重新使用不同的屏幕尺寸和密度的可绘制图像

背景:我正在开发具有1920×1200分辨率图像资源的平板电脑(横向)的Android应用程序。 该分辨率适合于以下屏幕尺寸和密度: drawable-xlarge-hdpi drawable-large-xhdpi 问题:如果我将包含在这两个文件夹中的所有图像资源都包含在内,APK的最终大小将会不必要的过重 我不成功的方法:我试图使用Alias这个定义在这里的drawables: http : //developer.android.com/guide/topics/resources/providing-resources.html#AliasResources 我有我的图像资源在: res/drawable-nodpi/image_cmn.png 和相应的屏幕大小和密度文件夹中的两个别名: res/drawable-xlarge-hdpi/image.xml res/drawable-large-xhdpi/image.xml image.xml: <?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/image_cmn" /> 当然,当我在布局文件中使用我的图像时,我引用了别名: <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@drawable/image" /> 但遗憾的是Android并没有正确调整我的testing平板电脑(mdpi)的资源,结果是我有更大的图像。 我试图将原始PNG的res / drawable移动到res / raw,但结果与res / drawable-nodpi相同 。 如果我把这个PN​​G的res / drawable-xlarge-hdpi (同样的xml别名)结果是正确的,但自然不能解决我的问题,因为我也不得不将它们复制到res / drawable-large-xhdpi和apk大小增加。 有谁知道如何做到这一点?