1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
MediaProcessor mp = GlobalManager.createMediaProcessor(image/png);
// create a OutputStream that will receive the resulting image
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// img = objet de type Image construit à partir
// de la photo récupérée dans le tel
int widthImg=img.getWidth();
int heightImg=img.getHeight();
int size = widthImg*heightImg;
int rgbData[] = new int[size];
// on récupère le tab d'entier contenant les infos sur l'image
img.getRGB(rgbData, 0, widthImg, 0, 0, widthImg, heightImg);
// on récupère le tab de byte correspondant à rgbData[]
byte[] b = intArrayToByteArray(rgbData);
// on crée l'InputStream
InputStream inputStream = new ByteArrayInputStream(b);
mp.setInput(inputStream,MediaProcessor.UNKNOWN);
// on setOutput
mp.setOutput(outputStream);
ImageEffectControl iec = (ImageEffectControl)mp.getControl(
"javax.microedition.amms.control.imageeffect.ImageEffectControl");
// set effect
iec.setPreset("monochrome");
// do processing
mp.complete();
Image processedImg = createStreamARGBImage(outputStream,
img.getWidth(), img.getHeight()); |
Partager