Рішення формату файлів Adobe Photoshop
Високі API коду та безкоштовні програми для PSD, PSB з можливістю зменшення розміру файлів і стиснення, використовуючи недокументовані можливості
Безкоштовний онлайн-додаток для стиснення PSD та зменшення його розміру
Стисніть великі PSD і PSB файли, використовуючи методи з втратами і без втрат. Відкрийте для себе прихований потенціал Aspose.PSD. Це не завжди безпечно для даних в PSD File, так що якщо ви використовуєте його часто ви повинні перевірити PSD файли після стиснення. Зверніть увагу, що деякі функції стиснення є Lossy, тому після цих типів стиснення ви не зможете відновити початкові PSD файли. Ця функція надається «як є». Ви можете стиснути PSD або зменшити розмір PSB файлів.
Drag and drop a file or select add Image
You can reproduce the main functionality of this built-in app using Aspose.PSD
// Lossless compression // Remove Cache Data Stream RemoveCacheData(PsdImage image) { foreach (var layer in image.Layers) { // Can be applied if (layer is TextLayer || layer is FillLayer) { layer.SaveArgb32Pixels(layer.Bounds, new int[layer.Bounds.Width * layer.Bounds.Height]); } } var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image)); return stream; } // Applying RLE Compression Stream ApplyRleCompression(PsdImage image) { foreach (var layer in image.Layers) { foreach (var channelInformation in layer.ChannelInformation) { // Can be applied if (channelInformation.CompressionMethod == CompressionMethod.Raw) { var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image) { CompressionMethod = CompressionMethod.RLE }); return stream; } } } // Can not be applied return null; } // Lossy methods. // 8 Bit Conversion Stream ApplyConversionTo8Bit(PsdImage image) { if (image.BitsPerChannel > 8) { var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image) { ChannelBitsCount = 8 }); stream.Position = 0; return stream; } return null; } // RGBA Conversion Stream ApplyConversionToRGBA(PsdImage image) { if (image.ColorMode == ColorModes.Cmyk) { var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image) { ColorMode = ColorModes.Rgb }); stream.Position = 0; return stream; } return null; } // Layers merging Stream ApplyMergingLayers(PsdImage image) { if (image.Layers.Length > 1) { image.FlattenImage(); var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image)); stream.Position = 0; return stream; } return null; } // Remove Not Visible Layers Stream RemoveNotVisibleLayers(PsdImage image) { var layersSet = new List<Layer>(); foreach (var layer in image.Layers) { // Can be applied if ((!layer.IsVisible || !layer.IsVisibleInGroup) && !(layer is LayerGroup)) { layersSet.Add(layer); } } image.Layers = layersSet.ToArray(); var stream = new MemoryStream(); image.Save(stream, new PsdOptions(image)); return stream; }
You can download Aspose.PSD from Nuget package manager
Check the following list of documentation links:
Please check the offical documentation https://docs.aspose.com/psd/
Функції стиснення Aspose.PSD використовують високий код API. Стиснути PSD рішення доступно в Java і Net. Ви можете використовувати Aspose.PSD для стиснення або інших завдань на Back-end вашого веб-сервісу.