Tag: bitmap

如何在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); 问题是什么? 如果您需要关于代码的其他信息,我可以添加它。 谢谢!