Skip to content

Commit 2d21000

Browse files
authored
use gifski to encode gif (#20)
1 parent 1d4a636 commit 2d21000

File tree

12 files changed

+232
-52
lines changed

12 files changed

+232
-52
lines changed

Cargo.lock

Lines changed: 160 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

meme_generator/src/tools/image_operations.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ pub fn gif_merge(images: Vec<Vec<u8>>, duration: Option<f32>) -> Result<Vec<u8>,
222222
for frame in frames {
223223
encoder.add_frame(frame.resize_fit((min_w, min_h), Fit::Contain), duration)?;
224224
}
225-
Ok(encoder.finish())
225+
Ok(encoder.finish()?)
226226
}
227227

228228
pub fn gif_reverse(image: Vec<u8>) -> Result<Vec<u8>, Error> {
@@ -239,7 +239,7 @@ pub fn gif_reverse(image: Vec<u8>) -> Result<Vec<u8>, Error> {
239239
for i in 0..count {
240240
encoder.add_frame(frames[count - i - 1].clone(), duration)?;
241241
}
242-
Ok(encoder.finish())
242+
Ok(encoder.finish()?)
243243
}
244244

245245
pub fn gif_change_duration(image: Vec<u8>, duration: f32) -> Result<Vec<u8>, Error> {
@@ -250,5 +250,5 @@ pub fn gif_change_duration(image: Vec<u8>, duration: f32) -> Result<Vec<u8>, Err
250250
let frame = codec.get_frame(i)?;
251251
encoder.add_frame(frame, duration)?;
252252
}
253-
Ok(encoder.finish())
253+
Ok(encoder.finish()?)
254254
}

meme_generator_memes/src/memes/blamed_mahiro.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ fn blamed_mahiro(_: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result
7575
let frame = surface.image_snapshot();
7676
encoder.add_frame(frame, 0.08)?;
7777
}
78-
Ok(encoder.finish())
78+
Ok(encoder.finish()?)
7979
}
8080

8181
register_meme!(

meme_generator_memes/src/memes/capoo_say.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ fn capoo_say(_: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result<Vec
4747
encoder.add_frame(surface.image_snapshot(), 0.1)?;
4848
}
4949
}
50-
Ok(encoder.finish())
50+
Ok(encoder.finish()?)
5151
}
5252

5353
register_meme! {

meme_generator_memes/src/memes/douyin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ fn douyin(_: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result<Vec<u8
120120
encoder.add_frame(frame, 0.2)?;
121121
}
122122

123-
Ok(encoder.finish())
123+
Ok(encoder.finish()?)
124124
}
125125

126126
register_meme!(

meme_generator_memes/src/memes/gif_subtitle.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ fn gif_subtitle(
6464
encoder.add_frame(frame, duration)?;
6565
}
6666

67-
Ok(encoder.finish())
67+
Ok(encoder.finish()?)
6868
}
6969

7070
macro_rules! register_gif_subtitle {

meme_generator_memes/src/memes/psyduck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ fn psyduck(_: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result<Vec<u
9292
}
9393
encoder.add_frame(surface.image_snapshot(), 0.2)?;
9494
}
95-
Ok(encoder.finish())
95+
Ok(encoder.finish()?)
9696
}
9797

9898
register_meme!(

meme_generator_memes/src/memes/repeat.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ fn repeat(images: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result<V
7272
canvas.draw_image(&input_img, (0, 1000), None);
7373
encoder.add_frame(surface.image_snapshot(), 0.08)?;
7474
}
75-
Ok(encoder.finish())
75+
Ok(encoder.finish()?)
7676
}
7777

7878
register_meme!(

meme_generator_memes/src/memes/scroll.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ fn scroll(_: Vec<InputImage>, texts: Vec<String>, _: NoOptions) -> Result<Vec<u8
6767
frame_canvas.draw_image(&dialog, (0, dialog.height() - dy * i), None);
6868
encoder.add_frame(frame.image_snapshot(), 0.05)?;
6969
}
70-
Ok(encoder.finish())
70+
Ok(encoder.finish()?)
7171
}
7272

7373
register_meme!(

meme_generator_utils/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ edition.workspace = true
1010

1111
[dependencies]
1212
chrono = { version = "0.4", features = ["serde"] }
13-
gif = "0.13"
13+
gifski = { version = "1.33", default-features = false }
1414
md5 = "0.7"
1515
regex = "1.11"
1616
reqwest = { version = "0.11", features = ["json"] }

0 commit comments

Comments
 (0)