public static void main(String[] args) { Picture p = new Picture(FileChooser.getMediaPath("horse.jpg")); Graphics g = p.getGraphics(); Point ul = new Point(68, 24); Point te = new Point(182, 123); String message = "This is a test." + " Of a message with more than one line in it."; SpeechBalloon balloon = new SpeechBalloon(ul, 200, te, message); balloon.draw(g); p.show(); }
/** * Method to create a new picture by scaling the current picture by the given x and y factors * * @param xFactor the amount to scale in x * @param yFactor the amount to scale in y * @return the resulting picture */ public Picture scale(double xFactor, double yFactor) { // set up the scale transform AffineTransform scaleTransform = new AffineTransform(); scaleTransform.scale(xFactor, yFactor); // create a new picture object that is the right size Picture result = new Picture((int) (getWidth() * xFactor), (int) (getHeight() * yFactor)); // get the graphics 2d object to draw on the result Graphics graphics = result.getGraphics(); Graphics2D g2 = (Graphics2D) graphics; // draw the current image onto the result image scaled g2.drawImage(this.getImage(), scaleTransform, null); return result; }