Hallo zusammen,
ich habe ein Image bild, welches aus der Zwischenablage ausgelesen wird. im folgenden wird das ganze dann etwas zurechtgeschnitten:
beide varianten funktionieren soweit, dass ich das geschnittene bild in eine datei schreiben kann. trotzdem muss da noch ein fehler sein, denn es klappt nicht, das geschnitte bild in die zwischenablage zu schreiben. andere bilder können aber sehr wohl in die zwischenablage geschrieben werden:
ideen?
ich habe ein Image bild, welches aus der Zwischenablage ausgelesen wird. im folgenden wird das ganze dann etwas zurechtgeschnitten:
Code:
public Image makeCropImage() {
ImageFilter cropFilter = new CropImageFilter( 100, 135, 1100, 800 );
return createImage( new FilteredImageSource(bild.getSource(),cropFilter) );
// return Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(bild.getSource(),cropFilter));
}
Code:
/* Vielen Dank an kaie für diese Klasse */
import java.awt.*;
import java.awt.datatransfer.*;
import java.io.*;
import java.net.*;
import java.text.*;
import javax.imageio.*;
public class ClipboardImage implements Transferable, ClipboardOwner
{
private Image bild;
public ClipboardImage( Image i )
{
bild = i;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(this, this);
}
public static void main(String[] args) throws Exception
{
// irgendein Bild laden
int n = (int)(310*Math.random());
String url = "http://www.ruthe.de/strip/img/strip_"+new DecimalFormat("0000").format(n)+".jpg";
Image i = ImageIO.read( new URL(url) );
// in Zwischenablage kopieren
new ClipboardImage(i);
System.out.println("Bild in Zwischenablage kopiert");
}
public DataFlavor[] getTransferDataFlavors()
{
return new DataFlavor[] {DataFlavor.imageFlavor};
}
public boolean isDataFlavorSupported(DataFlavor f)
{
return f.equals(DataFlavor.imageFlavor);
}
public Object getTransferData(DataFlavor d) throws UnsupportedFlavorException, IOException
{
if( !d.equals(DataFlavor.imageFlavor) )
throw new UnsupportedFlavorException(d);
return bild;
}
public void lostOwnership(Clipboard c, Transferable t) {}
}
ideen?