PNG’leri Java aracılığıyla ayarlayın
Sunucu tarafı API’lerini kullanarak PNG dosyalarını ayarlamak için kendi Java uygulamalarınızı oluşturun.
Java Kullanarak PNG Dosyaları Nasıl Ayarlanır
En deneyimli fotoğrafçılar bile çekim sırasında hata yapabilir veya uygun olmayan ışık koşullarıyla karşılaşabilir. Bu tür durumlar görüntü kusurlarına yol açabilir ancak kötü bir fotoğrafın bile şansı vardır. Java kitaplığıyla parlaklığı, kontrastı ve renk gamını ayarlayarak bu sorunları programlı olarak düzeltebilirsiniz. Fotoğraf çok karanlık çıkarsa, parlaklığı artırmak karanlık alanları aydınlatacak ve önceden gizlenmiş ayrıntıların görünmesini sağlayacaktır. Kontrastın ayarlanması, aydınlık ve karanlık alanlar arasındaki farkı artırarak, daha iyi bir görüntü için parlaklık aralığını genişletir. Yapay ışık altında istenmeyen bir renk tonuna neden olan bir fotoğraf çektiyseniz, beyaz dengesini düzeltmek için renk gamma ayarını kullanın. PNG dosyalarını ayarlamak için şunu kullanacağız: Aspose.Imaging for Java Java platformu için zengin özelliklere sahip, güçlü ve kullanımı kolay bir görüntü işleme ve dönüştürme API’si olan API. En son sürümünü doğrudan adresinden indirebilirsiniz. Maven ve pom.xml dosyasına aşağıdaki konfigürasyonları ekleyerek Maven tabanlı projenize kurun.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Bağımlılık
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
PNG'leri Java ile Ayarlama Adımları
ihtiyacın var aspose-imaging-version-jdk16.jar aşağıdaki iş akışını kendi ortamınızda denemek için
- PNG dosyalarını Image.Load yöntemiyle yükleyin
- Görüntüleri ayarlayın;
- Sıkıştırılmış görüntüyü Aspose.Imaging formatında diske kaydedin
sistem gereksinimleri
Aspose.Imaging for Java tüm büyük işletim sistemlerinde desteklenir. Sadece aşağıdaki ön koşullara sahip olduğunuzdan emin olun.
- JDK 1.6 veya üstü yüklü.
PNG resimlerini ayarlayın - Java
import com.aspose.imaging.IMultipageImage; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import java.io.File; | |
import java.util.Arrays; | |
import java.util.LinkedList; | |
import java.util.List; | |
import java.util.function.Consumer; | |
adjustBrightness(); | |
public static void adjustGammaRGB() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustGamma-float-float-float- | |
image.adjustGamma(5, 0.1f, 0.1f); | |
}, "adjustgammargb"); | |
} | |
public static void adjustGamma() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustGamma-float- | |
image.adjustGamma(3); | |
}, "adjustgamma"); | |
} | |
public static void adjustContrast() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustContrast-float- | |
image.adjustContrast(50); | |
}, "adjustcontrast"); | |
} | |
public static void adjustBrightness() | |
{ | |
filterImages(image -> | |
{ | |
//https://apireference.aspose.com/imaging/java/com.aspose.imaging/RasterImage#adjustBrightness-int- | |
image.adjustBrightness(100); | |
}, "adjustbrightness"); | |
} | |
static String templatesFolder = "D:\\"; | |
public static void filterImages(Consumer<RasterImage> doFilter, String filterName) | |
{ | |
List<String> rasterFormats = Arrays.asList("jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif", "ico"); | |
List<String> vectorFormats = Arrays.asList("svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr"); | |
List<String> allFormats = new LinkedList<>(rasterFormats); | |
allFormats.addAll(vectorFormats); | |
allFormats.forEach( | |
formatExt -> | |
{ | |
String inputFile = templatesFolder + "template." + formatExt; | |
boolean isVectorFormat = vectorFormats.contains(formatExt); | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = rasterizeVectorImage(formatExt, inputFile); | |
} | |
String outputFile = templatesFolder + String.format("%s_%s.png", filterName, formatExt); | |
System.out.println("Processing " + formatExt); | |
try (RasterImage image = (RasterImage) Image.load(inputFile)) | |
{ | |
doFilter.accept(image); | |
//If image is multipage save each page to png to demonstrate results | |
if (image instanceof IMultipageImage && ((IMultipageImage) image).getPageCount() > 1) | |
{ | |
IMultipageImage multiPage = (IMultipageImage) image; | |
final int pageCount = multiPage.getPageCount(); | |
final Image[] pages = multiPage.getPages(); | |
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++) | |
{ | |
String fileName = String.format("%s_page%d_%s.png", filterName, pageIndex, formatExt); | |
pages[pageIndex].save(fileName, new PngOptions()); | |
} | |
} | |
else | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
new File(inputFile).delete(); | |
} | |
} | |
); | |
} | |
private static String rasterizeVectorImage(String formatExt, String inputFile) | |
{ | |
String outputFile = templatesFolder + "rasterized."+ formatExt + ".png"; | |
try (Image image = Image.load(inputFile)) | |
{ | |
image.save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
Java API için Aspose.Imaging Hakkında
Aspose.Imaging API, uygulamalar içinde görüntüleri (fotoğrafları) oluşturmak, değiştirmek, çizmek veya dönüştürmek için kullanılan bir görüntü işleme çözümüdür. Şunları sunar: Çeşitli görüntü formatları (tek tip çok sayfalı veya çok çerçeveli görüntü işleme dahil) arasındaki dönüştürmeler dahil ancak bunlarla sınırlı olmamak üzere çapraz platform Görüntü işleme, çizim, grafik temel öğeleriyle çalışma, dönüştürmeler (yeniden boyutlandırma, kırpma, çevirme ve döndürme) gibi değişiklikler , ikilileştirme, gri tonlama, ayarlama), gelişmiş görüntü işleme özellikleri (filtreleme, renk taklidi, maskeleme, eğrilik düzeltme) ve bellek optimizasyon stratejileri. Bu bağımsız bir kitaplıktır ve görüntü işlemleri için herhangi bir yazılıma bağlı değildir. Projelere yerel API’ler ile yüksek performanslı görüntü dönüştürme özellikleri kolayca eklenebilir. Bunlar %100 özel şirket içi API’lerdir ve görüntüler sunucularınızda işlenir.PNG’leri Çevrimiçi Uygulama aracılığıyla ayarlayın
Canlı Demolar web sitemizi ziyaret ederek PNG belgelerini ayarlayın. Canlı demo aşağıdaki avantajlara sahiptir
PNG Nedir PNG Dosya formatı
PNG, Taşınabilir Ağ Grafikleri, kayıpsız sıkıştırma kullanan bir tür raster görüntü dosyası biçimini ifade eder. Bu dosya biçimi, Grafik Değişim Biçimi'nin (GIF) yerini almak üzere oluşturulmuştur ve herhangi bir telif hakkı sınırlaması yoktur. Ancak PNG dosya formatı animasyonları desteklemez. PNG dosya formatı, onu kullanıcıları arasında popüler kılan kayıpsız görüntü sıkıştırmayı destekler. Zaman geçtikçe PNG, en çok kullanılan resim dosyası formatlarından biri olarak gelişti. Hemen hemen tüm İşletim Sistemleri PNG dosyalarını açma desteğine sahiptir. Örneğin, işletim sisteminin varsayılan olarak kurulumun bir parçası olarak sunulan desteğe sahip olduğu gibi, Microsoft Windows görüntüleyici PNG dosyalarını açma özelliğine sahiptir.
Daha fazla okuDesteklenen Diğer Ayar Formatları
Java kullanarak, dahil olmak üzere farklı formatları kolayca ayarlayabilirsiniz.