Commit Diff


commit - 83dd65f77383673a320837a90c53fd2308928e94
commit + 85877ddcfa26bfbf3d362c8cecac8b91fe329c86
blob - 4df9714110d133b684cb4ab9c3c4d951d102e0dc
blob + 485ff57e6e2db8bcc9b0f363fe9de846f0aaff9c
--- ppa6-print/src/main.rs
+++ ppa6-print/src/main.rs
@@ -51,6 +51,14 @@ struct Cli {
 	/// Line Height Factor. This gets multiplied with the font size to get the line height.
 	#[arg(short, long, default_value_t = 1.0)]
 	line_height: f32,
+
+	/// Adjust brightness, positive values increase brightness, negative values decrease brightness
+	#[arg(short, long, default_value_t = 0)]
+	brighten: i32,
+
+	/// Adjust constrast, positive values increase contrast, negative values decrease contrast
+	#[arg(short, long, default_value_t = 0.0)]
+	contrast: f32,
 }
 
 struct BlackWhiteMap(u8);
@@ -114,7 +122,10 @@ fn picture(cli: &Cli, data: &[u8]) -> Result<GrayImage
 		.with_guessed_format()?
 		.decode()?
 		.into_luma8();
-	let mut img = resize(rotate(img, cli.rotate));
+	let mut img = DynamicImage::ImageLuma8(resize(rotate(img, cli.rotate)))
+		.brighten(cli.brighten)
+		.adjust_contrast(cli.contrast)
+		.into_luma8();
 	assert_eq!(img.width(), 384);
 	dither(&mut img, &BlackWhiteMap(cli.threshold));
 	Ok(img)