Installing mod_proxy_html
January 5th, 2008No Comments | Filed Under: Tutorials
Download mod_proxy_html.c from here (please remember to register if you use this software).
Compile it like so
Create a file /etc/httpd/conf.d/mod_proxy_html.conf
LoadModule proxy_html_module /usr/lib/httpd/modules/mod_proxy_html.so
ProxyHTMLExtended On
Load an image, scale it to thumbnail size and save it as JPEG in Java
January 1st, 2008No Comments | Filed Under: Tutorials
import java.awt.*;
import java.awt.image.*;
import java.io.*;
/**
* Thumbnail.java (requires Java 1.2+)
* Load an image, scale it down and save it as a JPEG file.
* @author Marco Schmidt
*/
public class Thumbnail {
public static void main(String[] args) throws Exception {
if (args.length != 5) {
System.err.println("Usage: java Thumbnail INFILE " +
"OUTFILE WIDTH HEIGHT QUALITY");
System.exit(1);
}
// load image from INFILE
Image image = Toolkit.getDefaultToolkit().getImage(args[0]);
MediaTracker mediaTracker = new MediaTracker(new Container());
mediaTracker.addImage(image, 0);
mediaTracker.waitForID(0);
// determine thumbnail size from WIDTH and HEIGHT
int thumbWidth = Integer.parseInt(args[2]);
int thumbHeight = Integer.parseInt(args[3]);
double thumbRatio = (double)thumbWidth / (double)thumbHeight;
int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);
double imageRatio = (double)imageWidth / (double)imageHeight;
if (thumbRatio < imageRatio) {
thumbHeight = (int)(thumbWidth / imageRatio);
} else {
thumbWidth = (int)(thumbHeight * imageRatio);
}
// draw original image to thumbnail image object and
// scale it to the new size on-the-fly
BufferedImage thumbImage = new BufferedImage(thumbWidth,
thumbHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = thumbImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
// save thumbnail image to OUTFILE
BufferedOutputStream out = new BufferedOutputStream(new
FileOutputStream(args[1]));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.
getDefaultJPEGEncodeParam(thumbImage);
int quality = Integer.parseInt(args[4]);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float)quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(thumbImage);
out.close();
System.out.println("Done.");
System.exit(0);
}
}
Basic JPEG image resizing in Java
January 1st, 2008No Comments | Filed Under: Tutorials
import java.io.FileInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.awt.image.RescaleOp;
import java.awt.image.AffineTransformOp;
import java.awt.geom.AffineTransform;
import java.util.Map;
import java.util.HashMap;
import com.sun.image.codec.jpeg.JPEGImageDecoder;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.ImageFormatException;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
* @author CyranoVR
*/
public class ImageResizer {
public static void main(String args[]) {
if (args.length != 3) {
System.out.println("Usage: ImageResizer <input> <output>
<scale>");
System.exit(0);
}
String inFile = args[0];
String outFile = args[1];
FileInputStream fs = null;
try {
float scale = Float.parseFloat(args[2]);
fs = new FileInputStream(inFile);
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(fs);
BufferedImage srcImg = decoder.decodeAsBufferedImage();
fs.close();
AffineTransform af =
AffineTransform.getScaleInstance(scale, scale );
Map hints = new HashMap();
hints.put(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
RenderingHints rh = new RenderingHints(hints);
AffineTransformOp transform = new AffineTransformOp(af,rh);
BufferedImage destImg =
transform.createCompatibleDestImage(srcImg, srcImg.getColorModel());
transform.filter(srcImg, destImg);
FileOutputStream out = new FileOutputStream(outFile);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out,
JPEGCodec.getDefaultJPEGEncodeParam(destImg));
encoder.encode(destImg);
out.close();
System.out.println("Saved file " + outFile);
} catch (FileNotFoundException fnfe ) {
System.out.println("File " + inFile + " does not exist!");
} catch (NumberFormatException nfe){
System.out.println("You entered " + args[2] + ". Please
enter a decimal expression.");
} catch (IOException ioe) {
System.out.println("IO Exception: " + ioe.getMessage());
} catch (ImageFormatException ife) {
System.out.println("Image Format Excpetion: Could not
decode " + inFile);
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try {
if(fs != null)
fs.close();
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
}
how to find carriage return in string using java
December 13th, 2007No Comments | Filed Under: Tutorials
Just like you would identify any other character in a string: look for “\r\n” or “\n” (system dependent).
