Articles of android bitmap

如何在Android上检查Bitmap是否为空(空白)

如何检查Bitmap对象是否完全空白,即它的所有像素都是透明的,每个像素上都没有xy循环?

在销毁时释放特定活动的内存

我有一个启动器Activity ,可以加载并调整大位图的大小,因为它是打开时的背景。 只要点击后退按钮, Activity就会被destroyed 。 但我认为记忆尚未公布。 当我打开应用程序时,点击后退按钮再次打开它(反复),我将得到一个OutOfMemoryError 。 我很抱歉这个新手问题,但我想知道每当Activity被destroyed时我如何释放内存? @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); //MARK – movingBackgroundImageView movingBackgroundImageView = (ImageView) findViewById(R.id.movingBackgroundImageView); movingBackgroundImageView.setColorFilter(Color.argb(255, 255, 255, 255)); movingBackgroundImageView.setScaleType(ImageView.ScaleType.MATRIX); movingBackgroundImageView.setAlpha(0.28f); prepareBackgroundAnimation(); } private void prepareBackgroundAnimation() { DisplayMetrics displaymetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); screenWidth = displaymetrics.widthPixels; screenHeight = displaymetrics.heightPixels; movingImageHeight = displaymetrics.heightPixels; movingImageWidth = 1920.0 / […]

有没有得到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[] ,如果我应该做任何事情来释放它? 任何帮助感激!