thats how it was originally, i thought that perhaps without using the provider i could get lucky but the results were the same.
Any way i returned it to how u say using the provider but no good.
look heres my watermarProvider code
public class WatermarkProvider implements IScriptObject {
public void js_llamado(){
}
public void js_markImage(String srcImg, String markImg, float alpha, int mark_position)
{
int OFFSET_X = 10;
int OFFSET_Y = 10;
try
{
File _file = new File(srcImg);
if(!_file.exists()) return;
Image src = ImageIO.read(_file);
int width = src.getWidth(null);
int height = src.getHeight(null);
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g = image.createGraphics();
g.drawImage(src, 0, 0, width, height, null);
// watermark image file
File markFile = new File(markImg);
if(!markFile.exists()) return;
Image mark_img = ImageIO.read(markFile);
int mark_img_width = mark_img.getWidth(null);
int mark_img_height = mark_img.getHeight(null);
g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, alpha));
switch (mark_position)
{
case 1://WatermarkProvider.MARK_LEFT_TOP:
g.drawImage(mark_img, OFFSET_X, OFFSET_Y, mark_img_width, mark_img_height, null);
break;
case 2://WatermarkProvider.MARK_LEFT_BOTTOM:
g.drawImage(mark_img, OFFSET_X, (height - mark_img_height - OFFSET_Y), mark_img_width, mark_img_height, null);
break;
case 3://WatermarkProvider.MARK_CENTER:
g.drawImage(mark_img, (width - mark_img_width - OFFSET_X) / 2, (height - mark_img_height - OFFSET_Y) / 2,
mark_img_width, mark_img_height, null);
break;
case 4://WatermarkProvider.MARK_RIGHT_TOP:
g.drawImage(mark_img, (width - mark_img_width - OFFSET_X), OFFSET_Y, mark_img_width, mark_img_height, null);
break;
case 5://WatermarkProvider.MARK_RIGHT_BOTTOM:
default:
g.drawImage(mark_img, (width - mark_img_width - OFFSET_X), (height - mark_img_height - OFFSET_Y),
mark_img_width, mark_img_height, null);
}
g.dispose();
FileOutputStream out = new FileOutputStream(srcImg);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
@Override
public String[] getParameterNames(String arg0) {
// TODO Auto-generated method stub
String[] ar = new String[] {"hola"};
return null;
}
@Override
public String getSample(String arg0) {
// TODO Auto-generated method stub
return "ejemplo";
}
@Override
public String getToolTip(String arg0) {
// TODO Auto-generated method stub
return "tool tip";
}
@Override
public boolean isDeprecated(String arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public Class<?>[] getAllReturnedTypes() {
// TODO Auto-generated method stub
return new Class[] {null};
//return null;
}
}
and i dont believe the error is in the mark_image code cause i get it calling the other method also so i really have no idea