1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/EasySwift-YXJImageCompressor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 7.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 12:27 6fd9f57

YXJImageCompressor

Инструмент для сжатия изображений

Инструмент для сжатия фотографий, снимков экрана и данных. Удобный и простой в использовании.

Присоединяйтесь к нам!

Мы стремимся улучшить EasySwift фреймворк. Приглашаем всех, кто заинтересован в этом проекте, присоединиться к нашей команде и вместе создать лучший, наиболее полный и удобный фреймворк на Swift.

Официальный канал в QQ: 542916901

Особенности

  • Гибкий и удобный инструмент для сжатия изображений.

Снимок экрана

image

Системные требования

iOS 8.0 или выше.

Установка

В качестве зависимости CocoaPods

Добавьте в свой Podfile: pod 'YXJImageCompressor'

Версия

V0.0.1 ---- 2016-8-11

  • Первый выпуск.

Пример использования

import UIKit
import YXJImageCompressor

class ViewController: UIViewController {

    var ScreenWidth: CGFloat {
        return UIScreen.mainScreen().bounds.width
    }

    var ScreenHeight: CGFloat {
        return UIScreen.mainScreen().bounds.height
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let tv = UITextView(frame: CGRect(x: 0, y: 20, width: ScreenWidth, height: ScreenHeight - 20))
        tv.font = UIFont.systemFontOfSize(14)
        self.view.addSubview(tv)

        /// Исходное изображение
        let oldImg = UIImage(named: "img.JPG")
        let oldData = UIImageJPEGRepresentation(oldImg!, 0.7)

        tv.text.appendContentsOf("Исходный размер изображения \(M(Double(oldData!.length))) M \n")
        tv.text.appendContentsOf("Ширина исходного изображения \(oldImg?.size.width) \n")
        tv.text.appendContentsOf("Высота исходного изображения \(oldImg?.size.height) \n\n")
        tv.text.appendContentsOf("-------------------------------\n")

        /// Способ сжатия 1: максимальное значение стороны не превышает определённого значения, равнопропорциональное сжатие
        let px_1000_img = YXJImageCompressor.YXJImageWithMaxSide(_1000PX, sourceImage: oldImg)
        let px_1000_data = UIImageJPEGRepresentation(px_1000_img!, 0.7)

        tv.text.appendContentsOf("Размер изображения с максимальным значением стороны, не превышающим 1000 пикселей \(M(Double(px_1000_data!.length))) M \n")
        tv.text.appendContentsOf("Ширина изображения с максимальным значением стороны, не превышающей 1000 пикселей \(px_1000_img?.size.width)\n")
        tv.text.appendContentsOf("Высота изображения с максимальным значением стороны, не превышающей 1000 пикселей \(px_1000_img?.size.height)\n\n")
        tv.text.appendContentsOf("-------------------------------\n")

        let px_100_img = YXJImageCompressor.YXJImageWithMaxSide(_100PX, sourceImage: oldImg)
        let px_100_data = UIImageJPEGRepresentation(px_100_img!, 0.7)

        tv.text.appendContentsOf("Размер изображения с максимальным значением стороны, не превышающим 100 пикселей \(M(Double(px_100_data!.length))) M\n")
        tv.text.appendContentsOf("Ширина изображения с максимальным значением стороны, не превышающей 100 пикселей \(px_100_img?.size.width)\n")
        tv.text.appendContentsOf("Высота изображения с максимальным значением стороны, не превышающей 100 пикселей \(px_100_img?.size.height)\n\n")
        tv.text.appendContentsOf("-------------------------------\n")

        /// Способ сжатия 2: размер изображения не превышает определённое значение, максимальное значение стороны также не превышает определённого пикселя, равнопропорциональное сжатие
        YXJImageCompressor.YXJCompressImage(oldImg, limitSize: _1M, maxSide: _1000PX) { (data) in
            let img = UIImage(data: data)
            tv.text.appendContentsOf("Максимальный размер изображения 1 Мбайт, максимальное значение стороны — 1000 пикселей. Размер изображения \(self.M(Double(data.length))) M\n")
            tv.text.appendContentsOf("Максимальная ширина изображения — 1 Мбайт и максимальное значение стороны 1000 пикселей — \(img!.size.width)\n")
            tv.text.appendContentsOf("Максимальная высота изображения — 1 Мбайт и максимальное значение стороны 1000 пикселей — \(img!.size.height)\n\n")
            tv.text.appendContentsOf("-------------------------------\n")
        }

        YXJImageCompressor.YXJCompressImage(oldImg, limitSize: _64K, maxSide: _100PX) { (data) in
            let img = UIImage(data: data)
            tv.text.appendContentsOf("Максимальный размер изображения — 64 КБ, максимальное значение стороны — 100 пикселей. Размер изображения \(self.M(Double(data.length))) M\n")
            tv.text.appendContentsOf("Максимальная ширина изображения — 64 КБ и максимальное значение стороны 100 пикселей — \(img!.size.width)\n")
            tv.text.appendContentsOf("Максимальная высота изображения — 64 КБ и максимальное значение стороны 100 пикселей — \(img!.size.height)\n\n")
        }
    }

    func M(k: Double) -> Double {
        return k / Double(_1M.rawValue)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

Превосходный фреймворк EasySwift — это комплексное решение, охватывающее всю сферу разработки на Swift, создаваемое с 2014 года. Оно предназначено для обеспечения максимальной простоты, эффективности и полноты, а также высокой расширяемости, включая передовые архитектурные решения и концепции.

EasySwift

License

EasyEmoji лицензируется согласно версии 2.0 лицензии Apache. Для получения дополнительной информации обратитесь к файлу LICENSE.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/EasySwift-YXJImageCompressor.git
git@api.gitlife.ru:oschina-mirror/EasySwift-YXJImageCompressor.git
oschina-mirror
EasySwift-YXJImageCompressor
EasySwift-YXJImageCompressor
master