BurstLinker:跨平台 C++ GIF 编码库

2018-02-11 14:03:44来源:https://github.com/Bilibili/BurstLinker作者:Github人点击

分享
BurstLinker


Idea from:square/gifencoder


BurstLinker is a simple C++ GIF encode library. You can easily use it on Android, Windows, Linux or other platforms.


Android platform
Download

Gradle:


implementation 'com.bilibili:burst-linker:latest-version'
Build Environment

Android Studio 3.0.1


NDK r16


Basic usage
int delayMs = 1000;
String filePath = getExternalCacheDir() + File.separator + "out.gif";
BurstLinker burstLinker = new BurstLinker();
try {
burstLinker.init(width, height, filePath);
Bitmap colorBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(colorBitmap);
Paint p = new Paint();
int[] colors = new int[]{0xFFF00000, 0xFFFFFF00, 0xFFFFFFFF};
for (int color : colors) {
p.setColor(color);
canvas.drawRect(0, 0, width, height, p);
burstLinker.connect(colorBitmap, BurstLinker.OCTREE_QUANTIZER,
BurstLinker.NO_DITHER, 0, 0, delayMs);
}
} catch (GifEncodeException e) {
e.printStackTrace();
} finally {
burstLinker.release();
}
Enable RenderScript Support
This is an untested experimental feature
Git branch/feature/render-script
Gradle sync, It will generate the required ScriptC.cpp
Uncomment the line 64 of the /lib/CMakeLists.txt
Run
Unix-like platform


InstallFreeImage
&CMake



Macbrew install freeimage cmake

Debiansudo apt-get install libfreeimage-dev cmake

RedHatsudo yum install freeimage-devel cmake

ArchLinuxsudo pacman -S freeimage cmake

Build



cd /BurstLinker/src

mkdir cmake-build-debug; cd cmake-build-debug

cmake ..

make

Run



./BurstLinker 1000 1.jpg 2.jpg 3.jpg
See out.gif

Windows platform


InstallMicrosoft Visual Studio
&CMake


Build



cd /BurstLinker/src

mkdir cmake-build-debug; cd cmake-build-debug

cmake ..
Open BurstLinker.sln
Solution Explorer -> ALL_BUILD -> Build -> INSTALL -> Build

Run



cd Debug

BurstLinker.exe 1000 1.jpg 2.jpg 3.jpg
See out.gif

Thanks


square/gifencoder



waynejo/android-ndk-gif



lucent1090/MCCQ



luxiaoxun/KMeans-GMM-HMM



SimonBoorer/Quantize



dali-neuquant



FFmpeg/FFmpeg



progschj/ThreadPool


License
Copyright 2018 Bilibili
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.

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台