Buka DIB melalui Java
Buat aplikasi Java Anda sendiri untuk menggabungkan file DIB menggunakan API sisi server.
Cara Menggabungkan DIB File Menggunakan Java
Jika Anda ingin kreativitas Anda menjadi liar, inilah saatnya menggunakan kolase gambar. Fungsi ini memungkinkan Anda menggabungkan foto dan gambar meskipun file sumber memiliki format berbeda. Cara terbaik untuk menarik perhatian ke portofolio Anda adalah dengan menggunakan wallpaper foto dengan gambar atau pola yang berulang. Dalam hal ini, gambar dapat digabungkan baik dalam arah horizontal maupun vertikal. Jika Anda ingin mendemonstrasikan hasil pemrosesan file, Anda dapat dengan mudah menggabungkan dua gambar: sebelum dan sesudah menerapkan efek foto. Untuk menggabungkan file DIB, kami akan menggunakan Aspose.Imaging for Java API yang kaya fitur, kuat dan mudah digunakan manipulasi gambar dan konversi API untuk platform Java. Anda dapat mengunduh versi terbarunya langsung dari Maven dan instal dalam proyek berbasis Maven Anda dengan menambahkan konfigurasi berikut ke pom.xml.
Repository
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Ketergantungan
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Langkah-langkah untuk Menggabungkan DIB melalui Java
Anda membutuhkan aspose-imaging-version-jdk16.jar untuk mencoba alur kerja berikut di lingkungan Anda sendiri.
- Muat file DIB dengan metode Image.load
- Menggabungkan gambar menjadi yang baru
- Simpan gambar yang dipotong ke disk dalam format yang didukung oleh Aspose.Imaging
Persyaratan sistem
Aspose.Imaging untuk Java didukung di semua sistem operasi utama. Pastikan saja Anda memiliki prasyarat berikut.
- JDK 1.6 atau lebih tinggi diinstal.
Gabungkan DIB gambar - Java
import com.aspose.imaging.Color; | |
import com.aspose.imaging.Graphics; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RectangleF; | |
import com.aspose.imaging.fileformats.png.PngColorType; | |
import com.aspose.imaging.imageoptions.PngOptions; | |
import com.aspose.imaging.sources.StreamSource; | |
import java.io.File; | |
import java.io.FilenameFilter; | |
import java.util.ArrayList; | |
import java.util.List; | |
enum MergeStyle | |
{ | |
Horizontal, | |
Vertical | |
} | |
// Test directory should have source images to merge | |
String TestDirectory = "D:\\Many2One\\"; | |
MergeStyle mStyle = MergeStyle.Horizontal; // or MergeStyle.Vertical | |
List<Image> images = new ArrayList<Image>(); | |
try | |
{ | |
int totalWidth = 0; | |
int totalHeight = 0; | |
int maxWidth = 0; | |
int maxHeight = 0; | |
final String fileMask = ".png"; | |
File[] files = new File(TestDirectory).listFiles(new FilenameFilter() | |
{ | |
@Override | |
public boolean accept(File dir, String name) | |
{ | |
return name.endsWith(fileMask); | |
} | |
}); | |
if (files == null) | |
{ | |
return; | |
} | |
for (File fileName : files) | |
{ | |
try (Image image = Image.load(fileName.getAbsolutePath())) | |
{ | |
totalWidth += image.getWidth(); | |
if (image.getWidth() > maxWidth) | |
{ | |
maxWidth = image.getWidth(); | |
} | |
totalHeight += image.getHeight(); | |
if (image.getHeight() > maxHeight) | |
{ | |
maxHeight = image.getHeight(); | |
} | |
images.add(image); | |
} | |
} | |
if (images.isEmpty()) | |
{ | |
return; | |
} | |
String mergeStyle; | |
int targetWidth, targetHeight; | |
if (mStyle == MergeStyle.Horizontal) | |
{ | |
targetWidth = totalWidth; | |
targetHeight = maxHeight; | |
} | |
else if (mStyle == MergeStyle.Vertical) | |
{ | |
targetWidth = maxWidth; | |
targetHeight = totalHeight; | |
} | |
else | |
{ | |
return; // other merge styles are not supported | |
} | |
String outputPath = TestDirectory + "output\\"; | |
File dir = new File(outputPath); | |
assert dir.exists() || dir.mkdirs(); | |
outputPath = outputPath + "merged_" + mStyle.name() + ".png"); | |
PngOptions pngOptions = new PngOptions(); | |
pngOptions.setColorType(PngColorType.TruecolorWithAlpha); | |
pngOptions.setSource(new StreamSource()); | |
try (Image image = Image.create(pngOptions, targetWidth, targetHeight)) | |
{ | |
image.setBackgroundColor(Color.getWhite()); | |
final Graphics graphics = new Graphics(image); | |
float x = 0, y = 0; | |
for (Image it : images) | |
{ | |
graphics.drawImage(it, new RectangleF(x, y, it.getWidth(), it.getHeight())); | |
if (mStyle == MergeStyle.Horizontal) | |
{ | |
x += it.getWidth(); | |
} | |
if (mStyle == MergeStyle.Vertical) | |
{ | |
y += it.getHeight(); | |
} | |
} | |
image.save(outputPath); | |
} | |
} | |
finally | |
{ | |
for (Image image : images) | |
{ | |
image.close(); | |
} | |
images.clear(); | |
} |
Tentang Aspose.Imaging untuk Java API
Aspose.Imaging API adalah solusi pemrosesan gambar untuk membuat, memodifikasi, menggambar, atau mengonversi gambar (foto) dalam aplikasi. Menawarkan: pemrosesan gambar lintas platform, termasuk tetapi tidak terbatas pada konversi antara berbagai format gambar (termasuk pemrosesan gambar multi-halaman atau multi-bingkai yang seragam), modifikasi seperti menggambar, bekerja dengan grafik primitif, transformasi (mengubah ukuran, memotong, membalik & memutar , binarisasi, skala abu-abu, sesuaikan), fitur manipulasi gambar lanjutan (pemfilteran, dithering, masking, deskewing), dan strategi pengoptimalan memori. Ini adalah perpustakaan mandiri dan tidak bergantung pada perangkat lunak apa pun untuk operasi gambar. Seseorang dapat dengan mudah menambahkan fitur konversi gambar berkinerja tinggi dengan API asli dalam proyek. Ini adalah 100% API lokal pribadi dan gambar diproses di server Anda.Gabungkan DIB melalui Aplikasi Online
Gabungkan dokumen DIB dengan mengunjungi situs web Live Demos kami. Demo langsung memiliki manfaat sebagai berikut
DIB Apa DIB Format Berkas
File DIB (Device Independent Bitmap) adalah file gambar raster yang strukturnya mirip dengan file Bitmap standar (BMP) tetapi memiliki header yang berbeda. Dapat dibuka dengan hampir semua aplikasi yang dapat membuka file BMP standar di Windows maupun macOS. DIB adalah file biner dan memiliki format file kompleks yang mirip dengan BMP.
Baca selengkapnyaFormat Penggabungan Lainnya yang Didukung
Menggunakan Java, seseorang dapat dengan mudah menggabungkan berbagai format termasuk.