PSファイル内の画像の操作 | Java
Contents
[
Hide
Show
]PSドキュメントに画像を追加
Aspose.Page for Javaライブラリは、PSドキュメントに画像を追加するための2つの方法を提供しています。
- 不透明画像用
- 透明画像用
PostScriptは透明度をサポートしていないため、半透明画像は完全に透明なピクセルと完全に不透明なピクセルのセットとしてレンダリングできます。このような画像はマスクと呼ばれます。
PSドキュメント内の半透明画像をマスクとして表示し、画像の透明度をより正確に反映させるには、画像の確認と前処理が必要です。この確認と前処理には時間がかかります。したがって、画像が完全に不透明であることが確実な場合は、実行時間を節約できる最初の方法を使用することをお勧めします。
2つ目の方法は、画像が完全に不透明か、完全に透明か、あるいは半透明かを認識します。完全に不透明な場合は、最初の方法で不透明画像として追加されます。 完全に透明な場合はドキュメントにはまったく追加されず、半透明画像の場合はPostScript画像マスクとして追加されます。
以下の例では、完全に不透明な画像を追加する方法を示します。透明画像の追加方法については、「透明部分の操作」の記事で説明します。
この例では、Aspose.Page for Javaライブラリを使用して新しい PsDocumentに画像を追加するために、以下の手順を実行します。
- 結果のPSファイル用の出力ストリームを作成します。
- デフォルトオプションで PsSaveOptions オブジェクトを作成します。
- 作成済みの出力ストリームと保存オプションを使用して、1 ページの PsDocument を作成します。
- 新しいグラフィックス状態を作成します。
- 画像ファイルから java.awt.image.BufferedImage を作成します。
- 画像に必要な変換を作成します。
- 画像を PsDocument オブジェクトに追加します。
- 現在のグラフィックス状態から上位レベルのグラフィックス状態に移行します。
- ページを閉じます。
- ドキュメントを保存します。
1// Add image to PS document.
2
3String outputFileName = "AddImage_outPS.ps";
4
5//Create save options with A4 size
6PsSaveOptions options = new PsSaveOptions();
7
8// Create new 1-paged PS Document
9PsDocument document = new PsDocument(getOutputDir() + outputFileName, options, false);
10
11document.writeGraphicsSave();
12document.translate(100, 100);
13
14//Create a BufferedImage object from image file
15try {
16 BufferedImage image = ImageIO.read(new java.io.File(getDataDir() + "TestImage Format24bppRgb.jpg"));
17
18 //Create image transform
19 AffineTransform transform = new AffineTransform();
20 transform.translate(35, 300);
21 transform.scale(3, 3);
22 transform.rotate(Math.toRadians(-45));
23
24 //Add image to document
25 document.drawImage(image, transform, Color.WHITE);
26} catch (IOException ex) {
27}
28
29document.writeGraphicsRestore();
30
31//Close current page
32document.closePage();
33
34//Save the document
35document.save();.NET の PS ドキュメント内の画像の操作を参照してください。
このコードを実行した結果は次のように表示されます。

サンプルとデータファイルは以下からダウンロードできます。 GitHub.