Библиотека Java с открытым исходным кодом для создания эскизов веб-страниц на стороне сервера [закрыто]

 public class BaseClass
    {
      public void PrintMethod()
      {
       Console.WriteLine("Calling base class method");
      }
     }
     public class ChildClass
     {
      public new void PrintMethod()
      {
       Console.WriteLine("Calling the child or derived class method");
       }
      }
      class Program
      {
       static void Main()
       {
        BaseClass bc = new ChildClass();
        bc.PrintMethod();
        }
       }

Скрытие метода заключается в том, что если базовая переменная базового класса указывает на объект дочернего класса. Он будет вызывать скрытый метод в базовом классе.

Где как, Когда мы объявляем виртуальный метод в базовом классе. Мы переопределяем этот метод в производном или дочернем классе. Затем базовая переменная базового класса вызовет метод производного класса. Это называется переопределением методов.

14
задан Community 23 May 2017 в 12:09
поделиться

4 ответа

Первая вещь, которая приходит на ум, использует AWT для получения экранного захвата (см. код ниже). Вы могли посмотреть на получение JEditorPane, управление JDIC WebBrowser или браузер SWT (через AWT, встраивающий поддержку ). Последние два встраивают собственные браузеры (IE, Firefox), поэтому представьте зависимости; поддержка HTML JEditorPane останавливается в HTML 3.2. Может случиться так, что ни один из них не будет работать над бездисплейной системой.

import java.awt.Component;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JLabel;

public class Capture {

    private static final int WIDTH = 128;
    private static final int HEIGHT = 128;

    private BufferedImage image = new BufferedImage(WIDTH, HEIGHT,
            BufferedImage.TYPE_INT_RGB);

    public void capture(Component component) {
        component.setSize(image.getWidth(), image.getHeight());

        Graphics2D g = image.createGraphics();
        try {
            component.paint(g);
        } finally {
            g.dispose();
        }
    }

    private BufferedImage getScaledImage(int width, int height) {
        BufferedImage buffer = new BufferedImage(width, height,
                BufferedImage.TYPE_INT_RGB);
        Graphics2D g = buffer.createGraphics();
        try {
            g.drawImage(image, 0, 0, width, height, null);
        } finally {
            g.dispose();
        }
        return buffer;
    }

    public void save(File png, int width, int height) throws IOException {
        ImageIO.write(getScaledImage(width, height), "png", png);
    }

    public static void main(String[] args) throws IOException {
        JLabel label = new JLabel();
        label.setText("Hello, World!");
        label.setOpaque(true);

        Capture cap = new Capture();
        cap.capture(label);
        cap.save(new File("foo.png"), 64, 64);
    }

}
6
ответ дан McDowell 23 May 2017 в 12:09
поделиться

не был ли веб-сайт/сервис QA/теста, который позволит Вам определить веб-страницу, которой Вы хотели быть представленными в определенном браузере (IE, Firefox, версия x, y, z Safari), и они отправят снимок по почте назад Вам'.

я не могу помнить сервис - возможно, другие разработчики, которые часто посещают ajaxian, мог бы помнить его?

0
ответ дан anjanb 23 May 2017 в 12:09
поделиться

Вы по существу просите полный механизм визуализации, доступный Java. Лично, я сохранил бы меня стычка и обратился бы к дочернему процессу.

Иначе, я столкнулся с этим чистым браузером Java: Lobo

3
ответ дан Frank Krueger 23 May 2017 в 12:09
поделиться

Попытайтесь звонить ImageMagick. Я знаю, что это не решение для Java, но можно назвать его от Java, и существует даже фронтенд Java , хотя я имел меньше успеха с этим.

0
ответ дан Sietse 23 May 2017 в 12:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: