0

I have a image that i pull from a DB when i try to print it out my receipt printer its black. I think its something to do with the compress but can't figure out how to add that im a beginner at Java. Thank you

String imagex = "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";

  public Bitmap StringToBitMap(String encodedString){
    try {
        byte [] encodeByte=Base64.decode(encodedString, Base64.DEFAULT);
        Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
        return bitmap;
    } catch(Exception e) {
        e.getMessage();
        return null;
    }
}
    Bitmap bm = StringToBitMap(imagex);
    StarBitmap starbitmap = new StarBitmap(bm, true, 200);
    commands.add(starbitmap.getImageEscPosDataForPrinting(false,true));
user1054513
  • 605
  • 3
  • 13
  • 24
  • What are the `Bitmap` and `StarBitmap` classes? Your `imagex` string is base-64 encoded. Here is what it [looks like](http://postimg.org/image/898rrp1t7/f1aa33b5/). – Tim Biegeleisen May 26 '16 at 03:21
  • for star micronics printer, i figure that doesn't matter if i can make the bm var the correct format it should render right on the printer. added the function that converts the base64 – user1054513 May 26 '16 at 03:31
  • Also i can put a bmp in there and it prints fine its just png images. Maybe i just need to convert it to a bmp – user1054513 May 26 '16 at 03:33
  • I don't think you can just use PNG and BMP interchangeably as they are different image formats. Converting to BMP first should work, assuming your code is working for BMP already. – Tim Biegeleisen May 26 '16 at 03:34

1 Answers1

1

In most cases PNGs are black (transparent areas) due to rendering problems of PC not because of server side error. Some times PNGs are rendering in invert color beacuse of the color depth of the PNG is low (PNG-8 etc). I experienced in many time that high quality PNGs are also displaying with shady colors and edges (PNG-24) in many browsers as well. Solutions for PNG errors:

  • Try with different images with different image formats (JPEG, GIF etc)
  • Better you reformat the image with a image editing tool (Photoshop is the best) and export the image as a PNG and then store in the DB.
  • Try to display the same out put in different environment (Browser or a another PC)
Supun
  • 140
  • 1
  • 2
  • 12
  • 1
    I ended up converting the image from png to jpg in php look at Daniel De León answer http://stackoverflow.com/questions/1201798/use-php-to-convert-png-to-jpg-with-compression – user1054513 May 26 '16 at 04:29