Đó là mã đơn giản và thay vì nhận kết quả để đặt Bitmap, tôi nhận được giá trị rỗng. Bất cứ ai có thể cho tôi biết nơi tôi đang làm sai?Tại sao BitmapFactory.decodeByteArray trả về null?
String test = "test";
byte[] byteA = test.getBytes();
Bitmap bmp = BitmapFactory.decodeByteArray(byteA, 0, byteA.length); //<- I get null here
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageBitmap(bmp);
CẬP NHẬT
Ok, vì vậy tôi không thể chuyển đổi văn bản để hình ảnh như tôi nghĩ tôi có thể. Làm thế nào về cách này? Điều này sẽ tạo ra một bitmap?
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED);
paint.setTextSize(16);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.MONOSPACE);
Bitmap bm = Bitmap.createBitmap(16, 16, Bitmap.Config.ALPHA_8);
float x = bm.getWidth();
float y = bm.getHeight();
Canvas c = new Canvas(bm);
c.drawText("Test", x, y, paint);
Tôi biết điều đó. Tôi đa đọc no :). Ý tôi là, tại sao nó không tạo bitmap? Lỗi trong mã ở đâu? – sandalone
Chuỗi "test" là '74657374' trong hệ thập lục phân. Bạn đang cố gắng hiển thị nó dưới dạng bitmap. Nó không phải là một. – yep
@askmoo: Sai lầm là cố gắng đọc bốn byte như thể chúng là một hình ảnh. Bạn nghĩ các định dạng hình ảnh này là gì? PNG? JPEG?Những gì bạn mong đợi hình ảnh được? Lưu ý rằng bạn * không * tải một tệp có tên là "test" hoặc bất cứ thứ gì như thế ... bạn chỉ đang cố gắng tạo một hình ảnh từ các byte biểu diễn chuỗi "test" trong mã hóa mặc định nền tảng. –