java - How to convert Bufferedimage to indexed type and then extract the argb color palette -


i need convert bufferedimage bufferedimage indexed type extract indices of colors data , 256 color palette. think doing right conversion of bufferedimage indexed mode , extracting color indices next code:

bufferedimage palettebufferedimage=new bufferedimage(textureinfosubfile.getwidth(), textureinfosubfile.getheight(),bufferedimage.type_byte_indexed); palettebufferedimage.getgraphics().drawimage(originalbufferedimage, 0, 0, null);  // puts image pixeldata bytebuffer byte[] pixels = ((databufferbyte) palettebufferedimage.getraster().getdatabuffer()).getdata();           

my problem need know argb values of each color index( palette) put them array. have been reading colormodel , colorspace don´t find methods need.

finally solve code:

public static bufferedimage rgbatoindexedbufferedimage(bufferedimage sourcebufferedimage) {     //with constructor create indexed bufferedimage same dimensiosn , default 256 color model     bufferedimage indexedimage= new bufferedimage(sourcebufferedimage.getwidth(),sourcebufferedimage.getheight(),bufferedimage.type_byte_indexed);       colormodel cm = indexedimage.getcolormodel();     indexcolormodel icm=(indexcolormodel) cm;      int size=icm.getmapsize();      byte[] reds = new byte[size];     byte[] greens = new byte[size];     byte[] blues = new byte[size];     icm.getreds(reds);     icm.getgreens(greens);     icm.getblues(blues);      writableraster raster=indexedimage.getraster();     int pixel = raster.getsample(0, 0, 0);      indexcolormodel icm2 = new indexcolormodel(8, size, reds, greens, blues,pixel);     indexedimage=new bufferedimage(icm2, raster,sourcebufferedimage.isalphapremultiplied(), null);     indexedimage.getgraphics().drawimage(sourcebufferedimage, 0, 0, null);     return indexedimage; } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -