Aspose.PSD でワープの使用方法
Part 1 – ワープエフェクトを適用した PSD ファイルのレンダリング
Photoshop は、ワープエフェクトを適用した後の描画イメージを保存します。当社のライブラリは、ワープエフェクトを適用した画像を再現または再レンダリングすることができます。この機能を有効にするには、PSD ファイルを開く際に設定で AllowWarpRepaint フラグを単純に設定します。
string sourceFile = "warp_flag.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
スマートレイヤーのワープエフェクトをレンダリングするだけでなく、当社のライブラリはテキストレイヤーのワープにも対応しています。実装コードは同一であり、違いはファイル名のみです。
string sourceFile = "warp_text_wave.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
**! 注意: ** 現在、当社のライブラリは、ユーザーがメッシュポイントを操作するカスタムワープとすべての標準ワープタイプの両方をレンダリングサポートしています。
-
- 現在、当社のライブラリは、標準メッシュを使用したカスタムワープをサポートしており、近い将来、すべてのメッシュタイプをサポートするように積極的に取り組んでいます。
Part 2 – ワープエフェクトの修正
当社のライブラリを使用すると、レンダリングだけでなくワープエフェクトを修正(追加)することもできます。 これらの修正は、WarpParams クラスの機能を介して容易に行われます。
機能 | 説明 |
---|---|
Bounds | ワープされた画像の境界を返します。 |
MeshPoints | 各ポイントがワープメッシュの頂点を表すポイントの配列です。 |
Value | カスタム以外のワープエフェクトのワープ効果の値。 |
WarpRotates | カスタム以外のワープエフェクトの方向を定義する列挙です。 |
WarpStyles | ワープエフェクトのタイプを定義する列挙です。 |
以下のコード例は、スマートレイヤーのワープエフェクトのタイプを判別し、効果のタイプと歪みの強度を調整する方法を示しています。
string sourceFile = "warp_flag.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
WarpParams warpParams = smartLayer.WarpParams;]; | |
WarpParams warpParams = smartLayer.WarpParams; | |
if (warpParams.Style == WarpStyles.Flag) | |
{ | |
warpParams.Style = WarpStyles.Wave; | |
warpParams.Value = 20; | |
} | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
Part 3 – ワープエフェクトの追加
以下のコード例は、スマートレイヤーに標準のワープエフェクトを追加する方法を示しています。
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Arc; | |
warpParams.Value = 10; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
以下のコード例は、スマートレイヤーにカスタムワープエフェクトを追加する方法を示しています。
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Custom; | |
warpParams.MeshPoints[2].Y += 70; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
以下のコード例は、テキストレイヤーにワープエフェクトを追加する方法を示しています。 **! 注意: ** Photoshop の標準に従うと、テキストレイヤーのワープエフェクトは通常、標準タイプに限定されます。ただし、当社のライブラリは2種類のワープエフェクトの使用をサポートしています。このようなファイルは Photoshop と完全に互換性がない可能性があることに注意してください。
string sourceFile = "smart_object.psd"; | |
string outputFile = "total.png"; | |
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true })) | |
{ | |
// The smart object without Warp effect | |
var smartLayer = (SmartObjectLayer)psdImage.Layers[0]; | |
// It gets structure for warp effect | |
WarpParams warpParams = smartLayer.WarpParams; | |
// It sets parameters for warp effect | |
warpParams.Style = WarpStyles.Custom; | |
warpParams.MeshPoints[2].Y += 70; | |
psdImage.Save(outputFile, new PngOptions | |
{ | |
ColorType = PngColorType.TruecolorWithAlpha | |
}); | |
} |
結果:
私たちは常に、ワープエフェクトの機能を洗練し拡張し、その速度、品質、サポートされる機能を向上させることに焦点を当てています。最新の進展については、毎月のリリースで最新情報をご確認ください。 あなたの Aspose.PSD チーム