spara till grafikformat.

Java

4 svar · 496 visningar · startad av ps

Medlem sedan juni 2000841 inlägg
Trådstart#1

Är det möjligt att plocka innehållet i en JFrame, JPanel eller liknande och spara det i något grafikformat tex .gif eller .jpg?

Medlem sedan juni 2000841 inlägg
#2

Har skrivit ihop detta.. borde väl funka?

Ska sova nu.. testa imorron :)

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import java.awt.Container;
import com.sun.image.codec.jpeg.*;

public class WriteJPEG
{
private String mFilename;

public WriteJPEG(String pFilename)
{
	mFilename = pFilename;
}

public void encode(Container cont)
{
	try
	{
		BufferedImage bi = (BufferedImage)cont.createImage(cont.getWidth(), cont.getHeight());

		FileOutputStream out = new FileOutputStream(mFilename);
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		encoder.encode(bi);
	}
	catch(Exception e)
	{
		System.out.println(e.getMessage());
	}
}

public static void main(String\[\] args)
{
	new WriteJPEG("test.jpg");
}

}

Medlem sedan juni 2000841 inlägg
#3

Det vill inte fungera. Det skapas en bild när jag använder metoden encode, men den är bara grå... storleken blir rätt, men inget innehåll kommer med.

Nån som vet vad som kan vara fel?

Medlem sedan sep. 2001961 inlägg
#4

Som jag ser det så skapas en tom bild som har samma storlek som den yta som man vill rita. Jag misstänker att man på något sätt måste komma åt paint-metoden för det man vill dumpa. Det är i alla fall så man gör det i MFC.

Skärmen är ju bara en buffert så rimligtvis borde det gå att styra om paint/repaint-metoden till en annan buffert.

/Lime

Medlem sedan juni 2000841 inlägg
#5

Blir nog så att kravspecen kan ändras lite så jag kan köra på ver J2SE 1.4.0 istället. Den har ju kommit i skarp nu. Verkar finnas en hel nytt trevligt.

277 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)