Java経由でPNGに移動します
独自のJavaアプリを作成し、サーバー側APIを使用してPNGファイルをマージします。
Javaを使用してPNGファイルをマージする方法
創造力を発揮したい場合は、画像コラージュを使用してください。この機能を使用すると、ソース ファイルの形式が異なる場合でも、写真と画像を結合できます。ポートフォリオに注目を集めるための優れた方法は、繰り返しの画像やパターンを含む写真の壁紙を使用することです。この場合、画像は水平方向と垂直方向の両方で結合できます。ファイルの処理結果をデモする必要がある場合は、写真効果の適用前と適用後の 2 つの画像を簡単に結合できます。 PNG ファイルをマージするには、次を使用します。 Aspose.Imaging for Java 機能豊富で強力で使いやすいJava ラットフォーム用の画像操作および変換APIであるAPI。最新バージョンはから直接ダウンロードできます Maven 次の構成をpom.xmlに追加して、Mavenベースのプロジェクトにインストールします。
Repository
<repository>
<id>Aspose Java API</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging</artifactId>
<version>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Javaを介してPNGをマージする手順
あなたは aspose-imaging-version-jdk16.jar 自分の環境で次のワークフローを試してください。
+Image.loadメソッドを使用してPNGファイルをロードします +画像を新しい画像に結合する +Aspose.Imaging形式でサポートされているディスクにトリミングされた画像を保存します
システム要求
Aspose.Imaging for Javaは、すべての主要なオペレーティングシステムでサポートされています。次の前提条件があることを確認してください。
-JDK1.6以降がインストールされています。
PNG画像をマージ-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(); | |
} |
Aspose.Imaging for Java APIについて
Aspose.Imaging APIは、アプリケーション内で画像(写真)を作成、変更、描画、または変換するための画像処理ソリューションです。クロスプラットフォームの画像処理(さまざまな画像形式間の変換(均一なマルチページまたはマルチフレームの画像処理を含む)、描画などの変更、グラフィックプリミティブの操作、変換(サイズ変更、トリミング、反転、回転)を含むがこれらに限定されない) 、2値化、グレースケール、調整)、高度な画像操作機能(フィルタリング、ディザリング、マスキング、デスキュー)、およびメモリ最適化戦略。これはスタンドアロンライブラリであり、画像操作をソフトウェアに依存しません。プロジェクト内のネイティブAPIを使用して、高性能の画像変換機能を簡単に追加できます。これらは100%プライベートのオンプレミスAPIであり、画像はサーバーで処理されます。オンラインアプリを介してPNGをマージ
[Live Demos Webサイト](https://products.aspose.app/imaging/image-merge)にアクセスして、PNGドキュメントをマージします。 ライブデモには次の利点があります
PNG とは PNG ファイル形式
PNG(Portable Network Graphics)は、ロスレス圧縮を使用するラスターイメージファイル形式の一種を指します。このファイル形式は、Graphics Interchange Format(GIF)の代わりとして作成されたものであり、著作権の制限はありません。ただし、PNGファイル形式はアニメーションをサポートしていません。 PNGファイル形式は、ユーザーの間で人気のあるロスレス画像圧縮をサポートしています。時間の経過とともに、PNGは最もよく使用される画像ファイル形式の1つとして進化してきました。ほとんどすべてのオペレーティングシステムは、PNGファイルを開くことをサポートしています。たとえば、Microsoft Windowsビューアには、OSがデフォルトでインストールの一部として利用可能なサポートを備えているため、PNGファイルを開く機能があります。
続きを読むその他のサポートされているマージ形式
Javaを使用すると、を含むさまざまな形式を簡単にマージできます。