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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| public boolean resize(int i, String s, String s1)
{
float af[] = {
0.3333333F, 0.2F, 0.2F, 0.3333333F
};
boolean flag = false;
boolean flag1 = false;
boolean flag2 = false;
Object obj = null;
Object obj1 = null;
Object obj2 = null;
File file = new File(s);
File file1 = new File(s1);
BufferedImage bufferedimage = ImageIO.read(file);
//CA PLANTE TOUJOURS A CET ENDROIT
Raster raster = bufferedimage.getData();
double d = bufferedimage.getWidth();
double d1 = bufferedimage.getHeight();
double d2 = i;
double d3 = d2 / d1;
if(d > d1)
{
d3 = d2 / d;
}
if(d3 > 1.0D)
{
d3 = 1.0D;
}
int j = (int)(d * d3);
int k = (int)(d1 * d3);
BufferedImage bufferedimage1 = new BufferedImage(j, k, bufferedimage.getType());
WritableRaster writableraster = bufferedimage1.getRaster();
int ai[] = new int[4];
int ai1[] = new int[4];
int l = (int)d / j;
int i1 = (int)d1 / k;
for(int j1 = 0; j1 < j; j1++)
{
for(int k1 = 0; k1 < k; k1++)
{
ai[0] = 0;
ai[1] = 0;
ai[2] = 0;
ai[3] = 0;
for(int l1 = 0; l1 < l; l1++)
{
for(int i2 = 0; i2 < i1; i2++)
{
raster.getPixel(j1 * l + l1, k1 * i1 + i2, ai1);
ai[0] += ai1[0];
ai[1] += ai1[1];
ai[2] += ai1[2];
ai[3] += ai1[3];
}
}
ai[0] /= i1 * l;
ai[1] /= i1 * l;
ai[2] /= i1 * l;
ai[3] /= i1 * l;
writableraster.setPixel(j1, k1, ai);
}
}
ImageIO.write(bufferedimage1, "JPEG", file1);
return true;
IOException ioexception;
ioexception;
return false;
} |
Partager