В этой статье описывается определение и использование высококачественных масштабирующих классов, реализованных в Java. Поделитесь этим для вашей ссылки, следующим образом:
Я нашел много из них, но не был идеальным, и, наконец, нашел кого -то, кто написал их у иностранца. Я должен признать, что то, что написал иностранец, действительно потрясающе.
пакет com.test; import com.sun.image.codec.jpeg.jpegimageencoder; import com.sun.image.codec.jpeg.jpegcodec; импорт com.sun.image.codec.jpeg.jpegencodeparam; импорт javaxtem. java.io.ioexception; import java.awt.*; import java.awt.image.bufferedImage; import java.awt.image.kernel; импорт java.awt.image.convolveop; public class imageutil {public static void starice starice (file firom {бросить новое allosalargumentException («качество должно быть от 0 до 1»); } ImageIcon ii = new ImageICon (OriginalFile.getCanonicalPath ()); Изображение I = ii.getimage (); Изображение RESEDIMAGE = NULL; int iwidth = i.getWidth (null); int iheight = i.getheight (null); if (iwidth> iheight) {resizeimage = i.getscaledInstance (newwidth, (newwidth * iheight) / iwidth, image.scale_smooth); } else {resizeimage = i.getScaledInstance ((newWidth * iwidth) / iheight, newwidth, image.scale_smooth); } // Этот код гарантирует, что все пиксели в изображении загружаются. Image temp = new ImageICon (remedImage) .getImage (); // Создать буферное изображение. BufferedImage bufferedImage = new BufferedImage (temp.getWidth (null), temp.getheight (null), buferedimage.type_int_rgb); // копировать изображение на буферное изображение. Graphics G = BufferedImage.CreateGraphics (); // чистый фон и нарисуйте изображение. g.setcolor (color.white); G.FillRect (0, 0, temp.getWidth (null), temp.getheight (null)); g.drawimage (Temp, 0, 0, null); g.dispose (); // смягчать. Float SoftenFactor = 0,05F; float [] softenarray = {0, softenfactor, 0, softenfactor, 1 - (softenfactor * 4), softenfactor, 0, softenfactor, 0}; Ядро ядра = новое ядро (3, 3, смягчение); Convolveop cop = new convolveop (kernel, convolveop.edge_no_op, null); BufferedImage = cop.filter (BufferedImage, NULL); // Напишите JPEG в файл. FileOutputStream OUT = new FileOutputStream (arsizeFile); // кодирует изображение как поток данных jpeg jpegimageencoder encoder = jpegcodec.createjpegenceder (out); Jpegencodeparam param = encoder .getDefaultjpegenceDeparam (BufferedImage); Param.Setquality (качество, верно); encoder.setjpegenceDeparam (param); Encoder.encode (BufferedImage); } // Пример использования публичного статического void main (string [] args) throws ioException {// file riginalImage = new File ("c: //11.jpg"); // resize (OriginalImage, New File ("c: //11-0.jpg"), 150, 0.7f); // resize ("Original, new File (" c: //11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-11-110, 1f); File riginalImage = new File ("c: //1207.gif"); resize (OriginalImage, новый файл ("c: //1207-0.jpg"), 150, 0,7f); resize (OriginalImage, новый файл ("c: //1207-1.jpg"), 150, 1f); }}Для получения большего количества контента, связанного с Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Сводка навыков операции на изображении Java», «Краткое изложение навыков даты и времени работы на джаве», «Сводка навыков операции Java DOM Node», «Сводка файлов Java и навыки операции по каталогам» и «Учебные пособия по структуре данных Java и алгоритм».
Я надеюсь, что эта статья будет полезна для всех Java Programming.