2016-09-15 2 views
-1

В настоящее время я принимал код от этого сообщения: Merging two imagesПочему мой код печатает только часть этого изображения?

И он отлично работает! Однако это то, что происходит с моим изображением: комбинированная часть не отображается полностью, однако размер изображения по-прежнему является правильным. http://imgur.com/T6BlQLV

Любая помощь приветствуется, спасибо, ребята!

Наконец, вот мой код:

public class CAATemplate extends JPanel { 

final static int frameWidth = 500; 
final static int frameHeight = 500; 
static JLabel descBackground = new JLabel("Background Type:"); 
static JButton make = new JButton("Generate"); 

static String bgPath = "Images/Backgrounds/"; // base path of the images 
static String miPath = "Images/MainIcons/"; 
static String opPath = "Output/"; 
static BufferedImage image; 
public void CAATemplate() { 

} 

public void paint(Graphics g) { 

    g.drawImage(image, 0, 0, Color.gray, this); 

} 


public static void main(String[] args) throws IOException { 
    JFrame frame = new JFrame(); 
    JPanel p = new JPanel(); 

    p.add(descBackground); 
    p.add(make); 

    frame.add(p); 
    frame.setBackground(Color.gray); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(frameWidth, frameHeight); 
    frame.setVisible(true); 
    frame.setLocation(200, 100); 

    // load source images 

    image = ImageIO.read(new File(bgPath + "RedBackground1.png")); 
    BufferedImage overlay = ImageIO.read(new File(miPath + "Mooncakes.png")); 

    // create the new image, canvas size is the max. of both image sizes 
    int w = 2750; 
    int h = 2125; 
    BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); 

    // paint both images, preserving the alpha channels 
    Graphics g = combined.getGraphics(); 
    g.drawImage(image, 0, 0, null); 
    g.drawImage(overlay, 437, 1483, null); 

    // Save as new image 

    ImageIO.write(combined, "png", new File(opPath + "combined.png")); 
} 

} 

ответ

-1

Найден, почему, по-видимому, имея генераторную часть в основном, а также имеющие раму и настройка панели заставляет его не оказывать в полном объеме. Я создал новый метод для создания изображения и сделал кнопку, чтобы вызвать этот метод вместо этого, и он сработал!

+0

Это решение не имеет смысла и не помогает будущему посетителю, если вы не предоставите код и описание логики исправления. То есть. в компоненте xy есть известная ошибка, или вам нужно выполнить код чертежа в потоке пользовательского интерфейса. – HopefullyHelpful

Смежные вопросы