製品を閲覧する Toggle navigation
If so you can download any of the below versions for testing. The product will function as normal except for an evaluation limitation. At the time of purchase we provide a license file via email that will allow the product to work in its full capacity. If you would also like an evaluation license to test without any restrictions for 30 days, please follow the directions provided here.
If you experience errors, when you try to download a file, make sure your network policies (enforced by your company or ISP) allow downloading ZIP and/or MSI files.
PSB
PNG
Photoshop® の大きなドキュメント PSB (Photoshop Big) ファイル形式を PNG (Portable Network Graphic) ラスター イメージ形式に変換します。
string sourcePsdFile = "input.psb"; string outputImageFile = "output.png"; using (var image = (PsdImage)Image.Load(sourcePsdFile)) { // Here should be no exception. image.Save(outputImageFile, new PngOptions() { ColorType = PngColorType.GrayscaleWithAlpha }); }
C# コードを使用して、PSD イメージのタイムライン内のレイヤーにレイヤー ステートを適用します。
string sourceFile = "3_animated.psd"; string outputPsd = "output.psd"; string outputPng = "output.png"; using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { LoadEffectsResource = true })) { TimeLine timeLine = TimeLine.InitializeFrom(psdImage); var layerIds = timeLine.LayerIds; var layerState11 = timeLine.Frames[1].LayerStates[layerIds[1]]; timeLine.Frames[1].LayerStates[layerIds[1]].StateEffects.AddPatternOverlay(); layerState11.BlendMode = BlendMode.Multiply; // Change active frame from 0 to 1 to activate applying of LayerState to Layer timeLine.ActiveFrame = 1; // Apply changes to PsdImage timeLine.ApplyTo(psdImage); psdImage.Save(outputPsd); psdImage.Save(outputPng, new PngOptions()); }
PSD などのグラフィック ファイルの処理中にメモリ リークが発生しないようにします。
PSD
string[] filesToLoad = new string[] { "testPsd0.psd", "testPsd1.psd", "testPsd2.psd" }; int inputNumber = GC.MaxGeneration; #if NETCOREAPP GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; #endif GC.Collect(inputNumber, GCCollectionMode.Forced); GC.WaitForFullGCComplete(); double memCount = (double)Process.GetCurrentProcess().PrivateMemorySize64 / 1024 / 1024; Console.WriteLine("Total used bytes before test: {0:N2} MiB", memCount); double max = memCount; for (int i = 0; i < 50; i++) { int fileIndex = i % inputNumber; string sourceFile = Path.Combine(baseFolder, filesToLoad[fileIndex]); // CheckOpenSaving using (MemoryStream outputStream = new MemoryStream()) { using (PsdImage psd = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions { LoadEffectsResource = true })) { psd.Save(outputStream, new JpegOptions() { Quality = 100 }); } } #if NETCOREAPP GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce; #endif GC.Collect(inputNumber, GCCollectionMode.Forced); GC.WaitForFullGCComplete(); memCount = (double)Process.GetCurrentProcess().PrivateMemorySize64 / 1024 / 1024; max = Math.Max(max, memCount); } memCount = (double)Process.GetCurrentProcess().PrivateMemorySize64 / 1024 / 1024; Console.WriteLine("Total used bytes after test: {0:N2} MiB", memCount); Assert.IsTrue(Math.Abs(memCount - max) < 20, "Memory leak in base functionality found!");
このリリースで修正された機能、拡張機能、およびバグの完全なリストについては、Aspose.PSD for .NET 22.9 - Release Notes にアクセスしてください。