Tag: bitmapfactory

从文件path创build一个位图/绘图

我试图从现有的文件path创build一个位图或绘图。 String path = intent.getStringExtra("FilePath"); BitmapFactory.Options option = new BitmapFactory.Options(); option.inPreferredConfig = Bitmap.Config.ARGB_8888; mImg.setImageBitmap(BitmapFactory.decodeFile(path)); // mImg.setImageBitmap(BitmapFactory.decodeFile(path, option)); // mImg.setImageDrawable(Drawable.createFromPath(path)); mImg.setVisibility(View.VISIBLE); mText.setText(path); 但setImageBitmap() , setImageDrawable()不显示path中的图像。 我用mText打印path,它看起来像: /storage/sdcard0/DCIM/100LGDSC/CAM00001.jpg 我究竟做错了什么? 任何人都可以帮助我?

使用gridview从SD卡上的特定文件夹显示图像

我正在尝试创build一个从一个特定的文件夹驻留在SD卡上的图像加载的GridView。 该文件夹的path是已知的(“/ SD卡/图片”),但在网上看到的例子,我不确定如何或在哪里指定图片文件夹的path,我想加载图像。 我已经读了几十个教程,甚至在developer.android.com上的HelloGridView教程,但这些教程并没有教我什么我正在寻找。 到目前为止,我读过的每篇教程都有: A)将图像从/ res文件夹命名为Drawable,并将它们放入要加载的数组中,而不是使用SDCard。 B)使用MediaStore访问SDCard上的所有图片,但未指定如何设置要显示图像的文件夹的path 要么 C)build议使用BitmapFactory,我没有丝毫的线索如何使用。 如果我以错误的方式讨论这个问题,请告诉我,指导我采取正确的方法来做我想做的事情。

如何在Android的蓝牙打印机上打印图像?

我必须在热蓝牙打印机上打印一些数据,我正在做这个: String message="abcdef any message 12345"; byte[] send; send = message.getBytes(); mService.write(send); 它适用于文本,但不适用于图像。 我想我需要得到图像数据的byte[] 。 我尝试以这种方式获取图像的数据: Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.qrcode); ByteArrayOutputStream stream=new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream); byte[] image=stream.toByteArray(); 不幸的是,打印机打印了很多奇怪的字符(大约50厘米的纸张)。 我不知道如何打印图像。 我想尝试获取位图的像素,然后将其转换为一个byte[]并发送它,但我不知道该怎么做。 谢谢 更新: 经过这么多的时间,我这样做:我有一个名为print_image(string文件)的方法,它获取我想要打印的图像的path: private void print_image(String file) { File fl = new File(file); if (fl.exists()) { Bitmap bmp = BitmapFactory.decodeFile(file); convertBitmap(bmp); mService.write(PrinterCommands.SET_LINE_SPACING_24); int offset = […]

如何解决Android中的java.lang.OutOfMemoryError问题

尽pipe我在可绘制的文件夹中有非常小的尺寸图像,但我从用户那里得到这个错误。 而且我没有在代码中使用任何位图函数。 至less故意:) java.lang.OutOfMemoryError at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:683) at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:513) at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:889) at android.content.res.Resources.loadDrawable(Resources.java:3436) at android.content.res.Resources.getDrawable(Resources.java:1909) at android.view.View.setBackgroundResource(View.java:16251) at com.autkusoytas.bilbakalim.SoruEkrani.cevapSecimi(SoruEkrani.java:666) at com.autkusoytas.bilbakalim.SoruEkrani$9$1.run(SoruEkrani.java:862) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5602) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) at dalvik.system.NativeStart.main(Native Method) 根据这个stackTrace我在这一行开始这个错误(“电视”是一个textView): tv.setBackgroundResource(R.drawable.yanlis); 问题是什么? 如果您需要关于代码的其他信息,我可以添加它。 谢谢!