Aspose.PSD for .NET 18.10 - リリースノート
Contents
[
Hide
]
Key | Summary | Category |
---|---|---|
PSDNET-14 | 通常以外のブレンドモードのサポートを追加 | 機能 |
PSDNET-69 | カラーオーバーレイ効果のサポートを追加 | 機能 |
PSDNET-70 | ドロップシャドウ効果のサポートを追加 | 機能 |
PSDNET-71 | カラーオーバーレイ効果のエクスポート用のレンダリング | 機能 |
PSDNET-72 | ドロップシャドウ効果のエクスポート用のレンダリング | 機能 |
PSDNET-74 | ランタイム時のレイヤーエフェクトの追加サポート | 機能 |
PSDNET-73 | osTypeStructuresを含むリソースの読み込みパフォーマンスの最適化 | バグ |
PSDNET-79 | LayerAndMaskInfoのリファクタリングとメモリリークの修正 | 強化 |
使用例:
PSDNET-14 通常以外のブレンドモードのサポートを追加
var files = new string[]
{
"通常",
"ディゾルブ",
"暗算",
"乗算",
"色の焼きこみ",
"線形焼きこみ",
"ダーカーカラー",
"明るくする",
"スクリーン",
"色のドッジ",
"線形ドッジ/加算",
"色の明るく",
"オーバーレイ",
"ソフトライト",
"ハードライト",
"ビビッドライト",
"線形ライト",
"ピンライト",
"ハードミックス",
"差",
"除去",
"減算",
"分割",
"色相",
"彩度",
"色",
"輝度",
};
foreach (var fileName in files)
{
using (var im = LoadFile(fileName + ".psd"))
{
// PNGへエクスポート
var saveOptions = new PngOptions();
saveOptions.ColorType = PngColorType.TruecolorWithAlpha;
var pngExportPath100 = "BlendMode" + fileName + "_Test100.png";
im.Save(pngExportPath100, saveOptions);
// 透明度50%に設定
im.Layers[1].Opacity = 127;
var pngExportPath50 = "BlendMode" + fileName + "_Test50.png";
im.Save(pngExportPath50, saveOptions);
}
}
PSDNET-69 カラーオーバーレイ効果のサポートを追加
// カラーオーバーレイ効果の編集
string sourceFileName = "ColorOverlay.psd";
string psdPathAfterChange = "ColorOverlayChanged.psd";
using (var im = LoadFile(sourceFileName))
{
var colorOverlay = (ColorOverlay)(im.Layers[1].BlendingOptions.Effects[0]);
Assert.AreEqual(Color.Red, colorOverlay.Color);
Assert.AreEqual(153, colorOverlay.Opacity);
colorOverlay.Color = Color.Green;
colorOverlay.Opacity = 128;
im.Save(psdPathAfterChange);
}
PSDNET-70 ドロップシャドウ効果のサポートを追加
// ドロップシャドウ効果の編集
string sourceFileName = "Shadow.psd";
string psdPathAfterChange = "ShadowChanged.psd";
using (var im = LoadFile(sourceFileName))
{
var shadowEffect = (DropShadowEffect)(im.Layers[1].BlendingOptions.Effects[0]);
Assert.AreEqual(Color.Black, shadowEffect.Color);
Assert.AreEqual(255, shadowEffect.Opacity);
Assert.AreEqual(3, shadowEffect.Distance);
Assert.AreEqual(7, shadowEffect.Size);
Assert.AreEqual(true, shadowEffect.UseGlobalLight);
Assert.AreEqual(90, shadowEffect.Angle);
Assert.AreEqual(0, shadowEffect.Spread);
Assert.AreEqual(0, shadowEffect.Noise);
shadowEffect.Color = Color.Green;
shadowEffect.Opacity = 128;
shadowEffect.Distance = 11;
shadowEffect.UseGlobalLight = false;
shadowEffect.Size = 9;
shadowEffect.Angle = 45;
shadowEffect.Spread = 3;
shadowEffect.Noise = 50;
im.Save(psdPathAfterChange);
}
PSDNET-71 カラーオーバーレイ効果のエクスポート用のレンダリング
// カラーオーバーレイ効果の編集
string sourceFileName = "ColorOverlay.psd";
string pngExportPath = "ColorOverlay.png";
using (var im = LoadFile(sourceFileName))
{
var colorOverlay = (ColorOverlayEffect)(im.Layers[1].BlendingOptions.Effects[0]);
Assert.AreEqual(Color.Red, colorOverlay.Color);
Assert.AreEqual(153, colorOverlay.Opacity);
// PNGへ保存
var saveOptions = new PngOptions();
saveOptions.ColorType = PngColorType.TruecolorWithAlpha;
im.Save(pngExportPath, saveOptions);
}
PSDNET-72 ドロップシャドウ効果のエクスポート用のレンダリング
// ドロップシャドウのエクスポート
string sourceFileName = "Shadow.psd";
string pngExportPath = "Shadow.png";
using (var im = LoadFile(sourceFileName))
{
var shadowEffect = (DropShadowEffect)(im.Layers[1].BlendingOptions.Effects[0]);
Assert.AreEqual(Color.Black, shadowEffect.Color);
Assert.AreEqual(255, shadowEffect.Opacity);
Assert.AreEqual(3, shadowEffect.Distance);
Assert.AreEqual(7, shadowEffect.Size);
Assert.AreEqual(true, shadowEffect.UseGlobalLight);
Assert.AreEqual(90, shadowEffect.Angle);
Assert.AreEqual(0, shadowEffect.Spread);
Assert.AreEqual(0, shadowEffect.Noise);
// PNGへ保存
var saveOptions = new PngOptions();
saveOptions.ColorType = PngColorType.TruecolorWithAlpha;
im.Save(pngExportPath, saveOptions);
}
PSDNET-74 ランタイム時のレイヤーエフェクトの追加サポート
// ランタイムでのカラーオーバーレイレイヤーエフェクトの追加
string sourceFileName = "ThreeRegularLayersWithLayerEffect.psd";
string psdExportPath = "ThreeRegularLayersWithLayerEffectChanged.psd";
string pngExportPath = "ThreeRegularLayersWithLayerEffectChanged.psd";
var loadOptions = new PsdLoadOptions()
{
LoadEffectsResource = true
};
var testFolder = string.Empty;
var im = (PsdImage)Image.Load(testPath, loadOptions)
using (im)
{
var effect = im.Layers[1].BlendingOptions.AddColorOverlay();
effect.Opacity = 128;
effect.Color = Color.Green;
effect.BlendMode = BlendMode.Normal;
var effect = im.Layers[1].BlendingOptions.AddDropShadow();
effect.Color = Color.Red;
effect.Opacity = 128;
effect.BlendMode = BlendMode.Normal;
// PSDを保存
im.Save(psdExportPath);
// PNGを保存
var saveOptions = new PngOptions();
im.Save(pngExportPath, saveOptions);
}