Product Family

โซลูชันรูปแบบไฟล์ Adobe Photoshop

High Code API และแอปฟรีสำหรับ PSD, PSB ที่มีความสามารถในการลดขนาดของไฟล์และบีบอัดโดยใช้ความเป็นไปได้ที่ไม่มีเอกสาร

ฟรี App ออนไลน์เพื่อบีบอัด PSD และลดขนาดของมัน

บีบอัดไฟล์ PSD และ PSB ขนาดใหญ่โดยใช้วิธีการ lossy และ losslessค้นพบศักยภาพที่ซ่อนอยู่ของ Aspose.PSDมันไม่ปลอดภัยเสมอสำหรับข้อมูลในไฟล์ PSD, ดังนั้นถ้าคุณใช้มันบ่อยคุณควรทดสอบไฟล์ PSD หลังจากการบีบอัด.โปรดทราบว่าคุณสมบัติการบีบอัดบางอย่างเป็น Lossy ดังนั้นหลังจากการบีบอัดประเภทนี้คุณจะไม่สามารถกู้คืนไฟล์ PSD เริ่มต้นได้คุณสมบัตินี้มีให้ “ตามที่เป็นอยู่”คุณสามารถบีบอัด PSD หรือลดขนาดของไฟล์ PSB

Drag and drop a file or select add Image

your image

Lossless PSD Compress methods

Lossy PSD Compress methods

Compress PSD

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

Aspose.PSD คุณลักษณะการบีบอัดใช้ API รหัสสูงโซลูชั่น PSD บีบอัดสามารถใช้ได้ใน Java และ .Netคุณสามารถใช้ Aspose.PSD สำหรับการบีบอัดหรืองานอื่น ๆ บนส่วนหลังของบริการเว็บของคุณ