Graphics Problem
2 отговора
149 прегледа
Graphics Problem
Ne moga da nakaram "mazaniza.bmp" da se izvede na JFrame.
Funkziata koiato predpolagah che bi triabvalo da sraboti ima vida:
private void Create_Image()
{ Image image = getToolkit().getImage("mazaniza.bmp");
int x= image.getWidth(this);
int y =image.getHeight(this);
im = new BufferedImage(x,y,BufferedImage.TYPE_INT_RGB);
Graphics2D context = im.createGraphics();
context.drawImage(image,0,0,this);
}
Izvikvam ia ot konstruktura na klasa naslediavasht JFrame.
Dava mi greshka : IllegalArgumentException width(-1) ,height(-1)
Prosto niakoi moze li da mi obiasni kak da si vkaram kartinka na Main tabloto?
Funkziata koiato predpolagah che bi triabvalo da sraboti ima vida:
private void Create_Image()
{ Image image = getToolkit().getImage("mazaniza.bmp");
int x= image.getWidth(this);
int y =image.getHeight(this);
im = new BufferedImage(x,y,BufferedImage.TYPE_INT_RGB);
Graphics2D context = im.createGraphics();
context.drawImage(image,0,0,this);
}
Izvikvam ia ot konstruktura na klasa naslediavasht JFrame.
Dava mi greshka : IllegalArgumentException width(-1) ,height(-1)
Prosto niakoi moze li da mi obiasni kak da si vkaram kartinka na Main tabloto?
Re: Graphics Problem
Tova koeto pravish niama nishto obshto s istinata.
Pyrvo procheti kak triabva da se praviat takiva nesha, togava se opitaj da si
napishesh programata.
Opitaj se da razberesh kak raboti dolnata programa. Tia mislia che pravi tochno tova koeto iskash.
------------------------------------------------------------------
package bg.dir.clubs.java;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import javax.swing.JFrame;
public class PictureFrame extends JFrame {
public PictureFrame() {
init();
}
private void init() {
Image image = getToolkit().createImage("C:\\Temp\\Sample.jpg");
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image, 1);
try {
tracker.waitForID(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
getContentPane().add(new MyCanvas(image));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
PictureFrame frame = new PictureFrame();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static class MyCanvas extends Canvas {
Image mImage;
Dimension mSize;
MyCanvas(Image image) {
mImage = image;
mSize = new Dimension(mImage.getWidth(this), mImage.getHeight(this));
}
public void paint(Graphics g) {
g.drawImage(mImage,0,0,mSize.width,mSize.height,this);
}
public Dimension getPreferredSize() {
return mSize;
}
}
}
Pyrvo procheti kak triabva da se praviat takiva nesha, togava se opitaj da si
napishesh programata.
Opitaj se da razberesh kak raboti dolnata programa. Tia mislia che pravi tochno tova koeto iskash.
------------------------------------------------------------------
package bg.dir.clubs.java;
import java.awt.Canvas;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import javax.swing.JFrame;
public class PictureFrame extends JFrame {
public PictureFrame() {
init();
}
private void init() {
Image image = getToolkit().createImage("C:\\Temp\\Sample.jpg");
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(image, 1);
try {
tracker.waitForID(1);
} catch (InterruptedException e) {
e.printStackTrace();
}
getContentPane().add(new MyCanvas(image));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
PictureFrame frame = new PictureFrame();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
private static class MyCanvas extends Canvas {
Image mImage;
Dimension mSize;
MyCanvas(Image image) {
mImage = image;
mSize = new Dimension(mImage.getWidth(this), mImage.getHeight(this));
}
public void paint(Graphics g) {
g.drawImage(mImage,0,0,mSize.width,mSize.height,this);
}
public Dimension getPreferredSize() {
return mSize;
}
}
}
Toolkit.getImage
getImage(String filename)
Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG.
Tova e opisanieto na metoda getImage v java.awt.Toolkit (java 1.4). Oburni vnimanie na formatite, koito poddurzha. Ako iskash da chetesh BMP-ta izpolzvai Java Advanced Imaging ili nyakoya third-party biblioteka.
Returns an image which gets pixel data from the specified file, whose format can be either GIF, JPEG or PNG.
Tova e opisanieto na metoda getImage v java.awt.Toolkit (java 1.4). Oburni vnimanie na formatite, koito poddurzha. Ako iskash da chetesh BMP-ta izpolzvai Java Advanced Imaging ili nyakoya third-party biblioteka.