All Projects → panpf → Sketch

panpf / Sketch

Licence: apache-2.0
Sketch 是 Android 上一个强大且全面的图片加载器,支持 GIF,手势缩放以及分块显示超大图片。Sketch is a powerful and comprehensive image loader on Android, with support for GIF, gesture zooming, block display super large image

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to Sketch

Sdwebimage
Asynchronous image downloader with cache support as a UIImageView category
Stars: ✭ 23,928 (+1436.8%)
Mutual labels:  image, gif
Zoompreviewpicture
拓展性极高类似微信图片和视频浏览,常见应用场景如微信朋友圈照片九宫格和微信聊天图片图片,视频,gif预览
Stars: ✭ 1,576 (+1.22%)
Mutual labels:  image, gif
Jvedio
Windows desktop application to manage local video;Support baidu AI, youdao translation;Support FFMPEG video processing;Support multi-database management and statistics;Support skin switching
Stars: ✭ 545 (-65%)
Mutual labels:  image, gif
Gulp Image
Optimize PNG, JPEG, GIF, SVG images with gulp task.
Stars: ✭ 213 (-86.32%)
Mutual labels:  image, gif
Scrimage
Java, Scala and Kotlin image processing library
Stars: ✭ 792 (-49.13%)
Mutual labels:  image, gif
Npm Gif
Replace NPM install's progress bar with a GIF!
Stars: ✭ 332 (-78.68%)
Mutual labels:  image, gif
Nuxt Optimized Images
🌅🚀 Automatically optimizes images used in Nuxt.js projects (JPEG, PNG, SVG, WebP and GIF).
Stars: ✭ 717 (-53.95%)
Mutual labels:  image, gif
Image Optimizer
Easily optimize images using PHP
Stars: ✭ 2,127 (+36.61%)
Mutual labels:  image, gif
Image Optimizer
Image optimization / compression library. This library is able to optimize png, jpg and gif files in very easy and handy way. It uses optipng, pngquant, pngcrush, pngout, gifsicle, jpegoptim and jpegtran tools.
Stars: ✭ 785 (-49.58%)
Mutual labels:  image, gif
Pixterm
Draw images in your ANSI terminal with true color
Stars: ✭ 782 (-49.78%)
Mutual labels:  image, gif
Grunt Image
Optimize PNG, JPEG, GIF, SVG images with grunt task.
Stars: ✭ 201 (-87.09%)
Mutual labels:  image, gif
Aimage
An animated gif & apng engine for iOS in Swift. Have a great performance on memory and cpu usage.
Stars: ✭ 1,014 (-34.87%)
Mutual labels:  image, gif
Hxphotopicker
图片/视频选择器 - 支持LivePhoto、GIF图片选择、3DTouch预览、在线下载iCloud上的资源、编辑图片/视频、浏览网络图片 功能 Imitation wx photo/image picker - support for LivePhoto, GIF image selection, 3DTouch preview, Download the resources on iCloud online, browse the web image function
Stars: ✭ 2,363 (+51.77%)
Mutual labels:  image, gif
Imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Stars: ✭ 4,107 (+163.78%)
Mutual labels:  image, gif
Awesomeimagepicker
Awesome Image Picker library will pick images/gifs with beautiful interface. Supports image or gif, Single and Multiple Image selection.
Stars: ✭ 160 (-89.72%)
Mutual labels:  image, gif
Allsketchs
Processing sketches, in which I have worked in the last years; images, videos, prototypes, experiments, tools, works, concepts... Everything is unfinished, some may not work, When I had no ideas, I would open one to see what it was...
Stars: ✭ 666 (-57.23%)
Mutual labels:  image, gif
Bbwebimage
A high performance Swift library for downloading, caching and editing web images asynchronously.
Stars: ✭ 128 (-91.78%)
Mutual labels:  image, gif
Imageviewer
A simple and customizable Android full-screen image viewer 一个简单且可自定义的Android全屏图像浏览器
Stars: ✭ 1,889 (+21.32%)
Mutual labels:  image, gif
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (-51.06%)
Mutual labels:  image, gif
Sdwebimageflplugin
A SDWebImage plugin to support GIF using FLAnimatedImage and category
Stars: ✭ 16 (-98.97%)
Mutual labels:  image, gif

logo_image Sketch Image Loader

Platform Android Arsenal License API version_icon QQ Group

English version of the README.md

Sketch 是 Android 上一款强大且全面的图片加载器,除了图片加载的必备功能外,还支持 GIF,手势缩放、分块显示超大图片、自动纠正图片方向、显示视频缩略图等功能

示例 APP

sample_app_download_qrcode

扫描二维码下载或点我下载

特性

支持的特性

  • 多种 URI 支持. 支持 http://https://asset://content://file:///sdcard/sample.jpg/sdcard/sample.jpgdrawable://data:image/data:img/android.resource://apk.icon://app.icon:// 等 URI,通过 UriModel 还可以扩展支持的 URI
  • 支持 gif 图片. 集成了 android-gif-drawable 1.2.19 可以方便的显示 gif 图片
  • 支持手势缩放. 支持手势缩放功能,在 PhotoView 的基础上进行了优化,增加了滚动条,定位等功能
  • 支持分块显示超大图. 支持分块显示超大图功能,从此再大的图片也不怕了
  • 支持三级缓存. 通过 LruMemoryCache、LruDiskCache 复用图片,加快显示时间;通过 LruBitmapPool 复用 Bitmap,减少因 GC 而造成的卡顿
  • 支持纠正图片方向. 可纠正方向不正的图片,并且分块显示超大图功能也支持,仅限 JPEG 格式的图片
  • 支持显示 APK 或 APP 图标. 支持显示本地 APK 文件的图标或根据包名和版本号显示已安装APP的图标
  • 支持 Base64 图片. 支持解析 Base64 格式的图片
  • 支持各种列表. 在各种列表(ListView、RecyclerView)中循环使用不错位,并且不占用 setTag() 方法
  • 自动防止加载过大 Bitmap 可通过 maxSize 来控制加载到内存的图片的尺寸,默认为 ImageView的 layout_width 和 layout_height 或屏幕的宽高
  • 独家 TransitionDrawable 支持. 独家支持任意尺寸的两张图片使用 TransitionDrawable 过渡显示,保证不变形
  • 只加载或只下载. 除了 display() 方法可以显示图片之外,你还可以通过 load() 方法只加载图片到内存中或通过 download() 方法只下载图片到本地
  • 移动数据下暂停下载. 内置了移动数据下暂停下载图片的功能,你只需开启即可
  • 自动选择合适的 Bitmap.Config. 根据图片的 MimeType 自动选择合适的 Bitmap.Config,减少内存浪费,例如对于 JPEG 格式的图片就会使用 Bitmap.Config.RGB_565 解码
  • 强大且灵活的自定义. 可自定义 URI 支持、HTTP、下载、缓存、解码、处理、显示、占位图等各个环节

支持的 URI

Type Scheme
File in network http://, https://
File in SDCard /, file://
Content Resolver content://
Asset Resource asset://
Drawable Resource drawable://
Base64 data:image/, data:/img/
APK Icon apk.icon://
APP Icon app.icon://
Android Resource android.resource://

详情请参考 URI 类型及使用指南

支持的图片类型

  • jpeg
  • png
  • gif
  • bmp
  • webp

开始使用

从 mavenCentral 导入 Sketch

在 app 的 build.gradle 文件的 dependencies 节点中加入依赖

implementation("io.github.panpf.sketch:sketch:${LAST_VERSION}")
implementation("io.github.panpf.sketch:sketch-gif:${LAST_VERSION}") // 不是必须的. 如果需要支持 gif 就添加

${LAST_VERSION}: Download (不包含 'v')

使用 SketchImageView 显示图片

SketchImageView sketchImageView = (SketchImageView) findViewById(R.id.image_main);
sketchImageView.displayImage("http://t.cn/RShdS1f");

文档

基础功能:

提升用户体验:

更多:

更新日志

Please view the CHANGELOG.md file

特别感谢

交流群

  • QQ Group

License

Copyright (C) 2019 Peng fei Pan <[email protected]>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].