草庐IT

尝试将位图加载到 imageView 时出现 java.lang.OutOfMemoryError

我正在尝试将位图加载到androidimageView中。但是得到这个java.lang.OutOfMemoryError我怎样才能避免这种情况?10-0600:11:21.225:E/AndroidRuntime(6825):FATALEXCEPTION:main10-0600:11:21.225:E/AndroidRuntime(6825):java.lang.OutOfMemoryError10-0600:11:21.225:E/AndroidRuntime(6825):atandroid.graphics.BitmapFactory.nativeDecodeStream(Nat

android - 如何从android中的子 Activity 返回位图

我已尝试使用以下代码将位图从子Activity返回到父Activity,但出现空指针异常,子Activity代码:ByteArrayOutputStreamstream=newByteArrayOutputStream();overlayImage.compress(Bitmap.CompressFormat.PNG,100,stream);byte[]byteArray=stream.toByteArray();Intentintent=newIntent();intent.putExtra("overlay",byteArray);setResult(RESULT_OK,inten

android - 在 Android 中将位图图像存储到 SD 卡

我的android代码遇到了一些奇怪的问题,我在Bitmap变量中有一个图像,想将该文件保存到SD卡。我的编码如下,BitmapIMAGE//Loadedfrominternetservers.;try{File_sdCard=Environment.getExternalStorageDirectory();File_picDir=newFile(_sdCard,"MyDirectory");_picDir.mkdirs();File_picFile=newFile(_picDir,"MyImage.jpg");FileOutputStream_fos=newFileOutputSt

java - Android位图对齐网格

有谁知道在拖动位图时是否有一种简单的方法可以使图像对齐网格?目前我可以触摸位图并在屏幕上平滑地移动它。我希望能够在您拖动时使其捕捉到不可见的网格。 最佳答案 这就是我在目前刚刚完成的应用程序中所做的。当用户在屏幕上拖动某些东西时,我会显示一个可见的捕捉网格,当拖动完成时,对象会捕捉到该网格。要显示网格,我的方法是使用一个单独的自定义View,我将其命名为GridOverLayView。它覆盖了整个屏幕区域,并且非常简单地在其onDraw()方法中绘制了一个捕捉网格。它仅在拖动某些东西时才可见。现在,关于处理拖放的实际Activity

android - 从 InputStream 调整位图大小

我试图从InputStream调整一张图像的大小,所以我使用了StrangeoutofmemoryissuewhileloadinganimagetoaBitmapobject中的代码但我不知道为什么这段代码总是返回没有图像的Drawable。这个效果很好:privateDrawabledecodeFile(InputStreamf){try{InputStreamin2=newBufferedInputStream(f);BitmapFactory.Optionso2=newBitmapFactory.Options();o2.inSampleSize=2;returnnewBitm

Android 将当前屏幕转换为位图

我想转换我的应用程序的屏幕并将其转换为位图。我已经知道如何将View转换为位图,但这不是我想要的,因为我的屏幕由许多fragment组成。因此,我希望能够获取屏幕并将其转换为位图......非常感谢帮助。 最佳答案 您可以使用这样的东西并将布局作为View传递;)publicBitmaptakeScreenShot(Viewview){//configuramosparaquelaviewalmacenelacacheenunaimagenview.setDrawingCacheEnabled(true);view.setDrawi

Canvas 上的Android比例缩放缩小位图

我需要在我的应用中添加以下功能我必须将Bitmap显示到Canvas中然后用户可以在Canvas中放大和缩小位图如何让它成为可能?我只需要在Canvas中而不是在ImageView中所有答案对我帮助不大..所以我想更新我的问题基本上我需要一个简单的2按钮和一个Canvas...在第一个按钮上单击Canvas上的图像可以旋转/放大和缩小并且在单击第二个按钮时它必须显示由用户创建的放大或缩小图像并且之后用户不能放大或缩小它Canvas 最佳答案 如果您在Canvas中放大和缩小位图,请使用以下代码在Activity中添加代码MyView

android - 按比例调整位图的大小

我有一张位图...如果位图的高度大于maxHeight,或者宽度大于maxWidth,我想按比例调整图像大小,使其适合maxWidthXmaxHeight。这是我正在尝试的:BitmapDrawablebmp=newBitmapDrawable(getResources(),PHOTO_PATH);intwidth=bmp.getIntrinsicWidth();intheight=bmp.getIntrinsicHeight();floatratio=(float)width/(float)height;floatscaleWidth=width;floatscaleHeight=h

android - 使用矢量图形而不是位图在 Canvas 上绘制路径?

目前我正在编写一个小应用程序,它允许在给定的图片上进行手指绘画。我目前通过实例化与背景图像大小相同的位图然后使用该位图创建Canvas来执行此操作。然后在这个Canvas上绘制。一切正常,但将绘制图形作为矢量数据而不是位图会更好,这样用户以后可以放大而不会在线条等中出现丑陋的步骤等。这有可能吗? 最佳答案 当然。您可以从学习中受益的类(class)有很多,但首先要学习的两个类(class)是Path和Paint。基本上,对于绘图中的每个单独路径,您将实例化一个路径并调用该路径上的各种方法来添加直线、圆弧、矩形等。然后,每个路径都可以

android - 如何将位图分成也是位图的部分

我需要一些关于将位图分割成更小块的可能方法的信息。更重要的是我需要一些选项来判断。我检查了很多帖子,但我仍然不完全相信该怎么做:cuttheportionofbitmapHowdoIcutoutthemiddleareaofthebitmap?这两个帖子是我找到的一些不错的选择,但我无法计算每个方法的CPU和RAM成本,或者我根本不应该为这个计算而烦恼。尽管如此,如果我打算做某事,为什么不从一开始就以最好的方式去做。如果能得到一些关于位图压缩的提示和链接,我将不胜感激,这样也许我可以结合这两种方法获得更好的性能。 最佳答案 此函数允