精华内容
下载资源
问答
  • 用python写的一个图片批量处理工具,对于有大量图片需要修改像素大小和图片占用空间压缩,还是比较实用的。 功能介绍: 1、将本工具放入图片同一级目录,直接运行就可以自动的批量处理了,同时会...3、图片压缩功能;
  • * @brief 压缩图片 @Fire * * @param originImage 原始图片 * @param pc 是否进行像素压缩 * @param maxPixel 压缩后长和宽的最大像素;pc=NO时,此参数无效。 * @param jc 是否进行JPEG压缩 * @...

    /*
     *	@brief	压缩图片 @Fire
     *
     *	@param 	originImage 	原始图片
     *	@param 	pc 	是否进行像素压缩
     *	@param 	maxPixel 	压缩后长和宽的最大像素;pc=NO时,此参数无效。
     *	@param 	jc 	是否进行JPEG压缩
     *	@param 	maxKB 	图片最大体积,以KB为单位;jc=NO时,此参数无效。
     *
     *	@return	返回图片的NSData
     */
    - (NSData*) compressImage:(UIImage*)originImage PixelCompress:(BOOL)pc MaxPixel:(CGFloat)maxPixel JPEGCompress:(BOOL)jc MaxSize_KB:(CGFloat)maxKB;




    - (NSData*) compressImage:(UIImage*)originImage PixelCompress:(BOOL)pc MaxPixel:(CGFloat)maxPixel JPEGCompress:(BOOL)jc MaxSize_KB: (CGFloat)maxKB
    {
        /*
         压缩策略: 支持最多921600个像素点
            像素压缩:(调整像素点个数)
                当图片长宽比小于3:1 or 1:3时,图片长和宽最多为maxPixel像素;
                当图片长宽比在3:1 和 1:3之间时,会保证图片像素压缩到921600像素以内;
            JPEG压缩:(调整每个像素点的存储体积)
                默认压缩比0.99;
                如果压缩后的数据仍大于IMAGE_MAX_BYTES,那么将调整压缩比将图片压缩至IMAGE_MAX_BYTES以下。
         策略调整:
            不进行像素压缩,或者增大maxPixel,像素损失越小。
            使用无损压缩,或者增大IMAGE_MAX_BYTES.
         注意:
            jepg压缩比为0.99时,图像体积就能压缩到原来的0.40倍了。
         */
        UIImage * scopedImage = nil;
        NSData * data = nil;
        //CGFloat maxbytes = maxKB * 1024;
    
        if (originImage == nil) {
            return nil;
        }
        
        if ( pc == YES ) {    //像素压缩
            // 像素数最多为maxPixel*maxPixel个
            CGFloat photoRatio = originImage.size.height / originImage.size.width;
            if ( photoRatio < 0.3333f )
            {                           //解决宽长图的问题
                CGFloat FinalWidth = sqrt ( maxPixel*maxPixel/photoRatio );
                scopedImage = [EncodeUtil convertImage:originImage scope:MAX(FinalWidth, maxPixel)];
            }
            else if ( photoRatio <= 3.0f )
            {                           //解决高长图问题
                scopedImage = [EncodeUtil convertImage:originImage scope: maxPixel];
            }
            else
            {                           //一般图片
                CGFloat FinalHeight = sqrt ( maxPixel*maxPixel*photoRatio );
                scopedImage = [EncodeUtil convertImage:originImage scope:MAX(FinalHeight, maxPixel)];
            }
        }
        else {          //不进行像素压缩
            scopedImage = originImage;
        }
        
        [scopedImage retain];
        
        if ( jc == YES ) {     //JPEG压缩
            data = UIImageJPEGRepresentation(scopedImage, 0.8);
            NSLog(@"data compress with ratio (0.9) : %d KB", data.length/1024);
        }
        else {
            data = UIImageJPEGRepresentation(scopedImage, 1.0);
            NSLog(@"data compress : %d KB", data.length/1024);
        }
        
        [scopedImage release];
        
        return data;
    }


    EncodeUtil.m  实现


    + (UIImage *)convertImage:(UIImage *)origImage scope:(CGFloat)scope
    {
        UIImage *image = nil;
        CGSize size = origImage.size;
        if (size.width < scope && size.height < scope) {
            // do nothing
            image = origImage;
        } else {
            CGFloat length = size.width;
            if (size.width < size.height) {
                length = size.height;
            }
            CGFloat f = scope/length;
            NSInteger nw = size.width * f;
            NSInteger nh = size.height * f;
            if (nw > scope) {
                nw = scope;
            }
            if (nh > scope) {
                nh = scope;
            }
    
            CGSize newSize = CGSizeMake(nw, nh);
    //        CGSize newSize = CGSizeMake(size.width*f, size.height*f);
            
            //
            UIGraphicsBeginImageContext(newSize);
            //UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0f);
            // Tell the old image to draw in this new context, with the desired
            // new size 
            [origImage drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; 
            // Get the new image from the context 
            image = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext(); 
        }
        return image;
    }


    展开全文
  • 用python写的一个图片批量处理工具,对于有大量图片需要修改像素大小和图片占用空间压缩,还是比较实用的。 功能介绍: 1、将本工具放入图片同一级目录,直接运行就可以自动的批量处理了,同时会...4、图片压缩功能;
  • PS怎么压缩图片大小而像素不变

    万次阅读 2018-06-23 16:27:05
    通过PS压缩图片大小 ,而像素不变! 其中一个主要的原因:网站的图片,数量多而且文件又太大了! 有的图片占用字节能达到1M,甚至2M以上。 本文就总结一下:通过PS软件,对图片进行有效压缩,进而达到网站的...
    本文就总结一下:通过 PS软件 ,对图片进行有效 压缩 ,进而达到网站的优化,缩短完成加载的时间 !

    压缩之前信息截图

    我们以上面的JPG图片为例(PNG图片同样操作),详细操作步骤:

    1. 通过PS软件,打开图片;
    2. 按照下图所示操作,找到并点击“存储为web所用格式”;
    这里写图片描述

    3. 点击后,在弹出对话框中,找到右侧顶部功能 “预设” 并下拉选择你的压缩要求,最后点击 “存储 按钮,截图如下;

    对话框

    4. 压缩前,后的图片效果对比,截图如下:

    压缩之前信息截图

    压缩之后信息截图


    注意:

    根据 “预设”属性 的选择,会有不同的压缩质量,根据实际效果和需求,中和考虑最佳压缩方案。>经过PS的这种处理,就可以根据需求,快速实现网站图片的压缩!

    以上就是关于“PS怎么压缩图片大小而像素不变“的全部内容。

    展开全文
  • 图片像素压缩

    2016-10-09 13:53:00
    * 强制压缩/放大图片到固定的大小 * @param w int 新宽度 * @param h int 新高度 6 */ public void resize ( int w, int h,String path) throws IOException { // SCALE_SMOOTH 的缩略...
    package com.smartdoer.utils;
    
    import java.io.*;  
    import java.util.Date;  
    import java.awt.*;  
    import java.awt.image.*;  
    import javax.imageio.ImageIO;  
    import com.sun.image.codec.jpeg.*; 
    
    
    public class ImgCompress  {
    
        private Image img;  
            private int width;  
            private int height;  
            @SuppressWarnings("deprecation")  
            public static void main(String[] args) throws Exception {  
                System.out.println("开始:" + new Date().toLocaleString());  
                ImgCompress imgCom = new ImgCompress("e:\\图片\\无标题.png");  
                imgCom.resizeFix(400, 400, "e:\\图片\\456.png");  
                System.out.println("结束:" + new Date().toLocaleString());  
            }  
            /** 
             * 构造函数 
             */  
            public ImgCompress(String fileName) throws IOException {  
               File file = new File(fileName);// 读入文件  
                img = ImageIO.read(file);      // 构造Image对象  
                width = img.getWidth(null);    // 得到源图宽  
                height = img.getHeight(null);  // 得到源图长  
            }  
            /** 
             * 按照宽度还是高度进行压缩 
             * @param w int 最大宽度 
         * @param h int 最大高度 
             */  
            public void resizeFix(int w, int h, String path) throws IOException {  
                if (width / height > w / h) {  
                    resizeByWidth(w,path);  
                } else {  
                    resizeByHeight(h,path);  
                }  
            }  
            /** 
             * 以宽度为基准,等比例放缩图片 
             * @param w int 新宽度 
             */  
            public void resizeByWidth(int w, String path) throws IOException {  
                int h = (int) (height * w / width);  
                resize(w, h, path);  
            }  
        /** 
             * 以高度为基准,等比例缩放图片 
             * @param h int 新高度 
         */  
            public void resizeByHeight(int h, String path) throws IOException {  
                int w = (int) (width * h / height);  
                resize(w, h, path);  
            }  
            /** 
             * 强制压缩/放大图片到固定的大小 
             * @param w int 新宽度 
             * @param h int 新高度 
        6     */  
            public void resize(int w, int h,String path) throws IOException {  
                // SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的 优先级比速度高 生成的图片质量比较好 但速度慢  
                BufferedImage image = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );   
                image.getGraphics().drawImage(img, 0, 0, w, h, null); // 绘制缩小后的图  
                File destFile = new File(path);  
                FileOutputStream out = new FileOutputStream(destFile); // 输出到文件流  
                // 可以正常实现bmp、png、gif转jpg  
                JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
                encoder.encode(image); // JPEG编码  
                out.close();  
            }
    
    
    }
    

    转载于:https://www.cnblogs.com/murphyyy/p/10002755.html

    展开全文
  • 其实很多小伙伴都会一些图片压缩的小方法,但是有的图片压缩以后画质降低了,或者图片体积降低了同时也改变了图片的像素,有的图片压缩后的体积无法控制,那么有什么办法能够在不改变图片像素的情况下将图片压缩指定...

    不管是在工作还是生活中,对于图片大家一定都不陌生,在使用图片的时候如果遇到图片太大需要降低图片的体积大小KB的时候大家都是怎么办的呢?其实很多小伙伴都会一些图片压缩的小方法,但是有的图片压缩以后画质降低了,或者图片体积降低了同时也改变了图片的像素,有的图片压缩后的体积无法控制,那么有什么办法能够在不改变图片像素的情况下将图片压缩指定大小https://www.yasuotu.com/imagesize)呢?下面以20K为例,教给大家如何一键将图片压缩到20K以下。

    1、打开压缩图网站,选择图片压缩指定大小功能。
    在这里插入图片描述

    2、点击选择图片压缩按钮上传图片,尺寸缩小处选择0.1,期望大小输入20,点击开始压缩按钮。
    在这里插入图片描述

    3、这里可以看到,已经把照片压缩到20k以下了,点击下载即可下载图片。
    在这里插入图片描述

    上面就是今天给大家分享的图片压缩指定大小的方法了,大家按照以上方法就可以一键将图片压缩到20K,不用下载任何软件或者APP,打开网站就能在线压缩照片大小,并且除了图片压缩以外,压缩图还支持在线图片裁切http://www.yasuotu.com/editor)、图片改大小、图片转格式等在线图片处理功能,经常处理图片的小伙伴们不要错过,快把网站收藏起来吧。

    展开全文
  • 图片压缩工具

    2014-08-30 21:47:35
    图片压缩像素大小工具,在保证图片质量的前提下同时压缩图片尺寸和像素的大下
  • 之前已经做过一个图片压缩的教程,不过上次压缩的是图片的质量,其实图片的size大小是没变的,这次来一个压缩Size,可以压缩到指定长宽,也能按照比例来压缩  直接上代码: - (UIImage *)scaleToSize:(UIImage *)...
  • 超级图片压缩工具,压缩率极大且像素高,欢迎下载
  • 最好的图压缩软件,无损图片像素,最好的图压缩软件,无损图片像素,最好的图压缩软件,无损图片像素
  • 如何压缩图片大小不改变像素

    千次阅读 2019-02-22 14:53:57
    选择压缩的方法或者是工具的时候一定要考虑效果,有些压缩之后的图片已经完全不是之前的样子了,但是想要完全不改变像素也是不太实际的,下面小编为大家介绍一个图片压缩的软件,告诉你如何压缩图片大小不改变像素!...
  • java按像素压缩,生成压缩图片

    千次阅读 2017-02-18 11:21:16
    像素压缩,生成压缩图片。 package httpreq.guide;import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; import java.awt.image.BufferedImage; import java.io.File; import java.io...
  • 比如1MB的JPG图片,不改变像素大小,把容量压缩到100KB,用TWICImage类如何实现,麻烦老师给代码参考,谢谢。 最好支持大部分图片格式,JPG BMP GIF PNG TIF。
  • * 缩放图片(压缩图片质量,改变图片尺寸) * 若原图宽度小于新宽度,则宽度不变! * @param newWidth 新的宽度 * @param quality 图片质量参数 0.7f 相当于70%质量 * 2015年12月11日 */ p
  • OpenCV + Python KMeans Color Clusering(图片像素类聚) 1.图片批量压缩(不改变图片大小) # 压缩图片 def yashuo_img(srcPath, dstPath): for filename in os.listdir(srcPath): # 如果不存在目的目录则创建一个...
  • 图片压缩后长度和宽度 及像素坐标 CGFloatscaleFloat = 0.6;+ (UIImage *) scaleImage: (UIImage *)image scaleFactor:(float)scaleFloat{CGSize size = CGSizeMake(image.size.width * scaleBy, i...
  • python 压缩图片 到指定像素

    千次阅读 2018-07-02 17:40:49
    # coding=utf-8import globimport osfrom PIL import Image# print(glob.glob(r'D:\VideoPhotos\sign\*.jpg'))path = r'D:\VideoPhotos\sign'images = glob.glob(path + r"\*.jpg")for img in images: # ...
  • * @param $picture 图片数据流 比如file_get_contents(imageurl)返回的东东 * @param $destfile 存储路径 */ function miniImg($picture,$destfile) { //获取源图gd图像标识符 $srcImg =...
  • unity支持的贴图格式 1、png 是无损压缩 占用内存小 支持透明 2、jpg 是有损压缩 占用内存小 不支持透明 ...图片压缩后的像素比较 PC端 DXT1: jpg 占用内存小(RGB) DXT5: png (RGBA )   IO...
  • * 等比例图片压缩,以宽或高较大者达到指定长度为准 * @param is 输入流 * @param os 输出流 * @param width 宽 * @param height 高 * @throws IOException */ public static void changeSize ( ...
  • 对于比例差距太大的需要剪裁 比例正好的点击文件-->>导出为-->>设置像素调整清晰度导出即可
  • 压缩图片 <div id="container"></div> <script src="../jquery-3.3.1.min.js"></script> $( function (){ $( "#file").on("change", function (){ var file = this .files[0 ] photoCompress(file...
  • 图片压缩

    2016-12-25 18:11:23
    图片压缩简介: 图片的压缩:(分辨率压缩/像素压缩,质量压缩) 分辨率压缩个人理解: 利用 bitmap = BitmapFactory.decodeFile(path, newOpts.inSampleSize像素比率); 得到显示的bitmap,而且还可以进行输出的质量压缩...
  • Java图片压缩

    2015-07-24 14:38:15
    java图片压缩,可设置宽度,高度,压缩像素比例
  • android中的大图片一般都要经过压缩才显示,不然容易发生oom,一般我们压缩的时候都只关注其尺寸方面的大小,其实除了尺寸之外,影响一个图片占用空间的还有其色彩细节。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,507
精华内容 602
关键字:

图片压缩像素