@@ -30,20 +30,13 @@ mod image_wrapper;
3030
3131use fast_image_resize:: images:: Image ;
3232use fast_image_resize:: { CpuExtensions , FilterType , PixelType , ResizeAlg , ResizeOptions , Resizer } ;
33- use image:: {
34- imageops, DynamicImage , EncodableLayout , GenericImageView , ImageBuffer , ImageFormat ,
35- ImageReader , Rgb , RgbImage ,
36- } ;
37- use pic_scale_safe:: {
38- premultiply_rgba8, resize_fixed_point, resize_floating_point, resize_rgb16, resize_rgb8,
39- resize_rgb_f32, resize_rgba16, resize_rgba8, unpremultiply_rgba8, ImageSize ,
40- ResamplingFunction ,
41- } ;
33+ use image:: { imageops, EncodableLayout , GenericImageView , ImageReader } ;
34+ use pic_scale_safe:: { resize_rgb8, resize_rgba8, ImageSize , ResamplingFunction } ;
4235use std:: ops:: { BitXor , Shr } ;
4336use std:: time:: Instant ;
4437
4538fn main ( ) {
46- let img = ImageReader :: open ( "./assets/nasa-4928x3279.png " )
39+ let img = ImageReader :: open ( "./assets/test_alpha.JPG " )
4740 . unwrap ( )
4841 . decode ( )
4942 . unwrap ( ) ;
@@ -53,21 +46,22 @@ fn main() {
5346 let mut working_store = transient. to_vec ( ) ;
5447
5548 let src_size = ImageSize :: new ( dimensions. 0 as usize , dimensions. 1 as usize ) ;
56- let dst_size = ImageSize :: new ( dimensions. 0 as usize + 1 , dimensions. 1 as usize + 1 ) ;
49+ // let dst_size = ImageSize::new(dimensions.0 as usize / 4, dimensions.1 as usize / 4);
50+ let dst_size = ImageSize :: new ( 3240 , 2160 ) ;
5751
58- let start_mul = Instant :: now ( ) ;
59-
60- premultiply_rgba8 ( & mut working_store) ;
61-
62- println ! ( "Alpha mul time {:?}" , start_mul. elapsed( ) ) ;
52+ // let start_mul = Instant::now();
53+ //
54+ // // premultiply_rgba8(&mut working_store);
55+ //
56+ // println!("Alpha mul time {:?}", start_mul.elapsed());
6357
6458 let start = Instant :: now ( ) ;
6559
66- let mut resized = resize_rgba8 (
60+ let resized = resize_rgba8 (
6761 & working_store,
6862 src_size,
6963 dst_size,
70- ResamplingFunction :: Bilinear ,
64+ ResamplingFunction :: CatmullRom ,
7165 )
7266 . unwrap ( ) ;
7367
@@ -96,7 +90,7 @@ fn main() {
9690 // let pixel_type: PixelType = PixelType::U8x4;
9791 // let src_image =
9892 // Image::from_slice_u8(dimensions.0, dimensions.1, &mut src_bytes, pixel_type).unwrap();
99- // let mut dst_image = Image::new(dimensions.0 / 2 , dimensions.1 / 2 , pixel_type);
93+ // let mut dst_image = Image::new(dimensions.0 / 4 , dimensions.1 / 4 , pixel_type);
10094 //
10195 // let mut resizer = Resizer::new();
10296 // unsafe {
@@ -116,11 +110,11 @@ fn main() {
116110 // .unwrap();
117111 //
118112 // println!("Working time {:?}", start.elapsed());
113+
114+ // let img = u8_to_u16(dst_image.buffer());
119115 //
120- // // let img = u8_to_u16(dst_image.buffer());
121- // //
122- // // let rgba_image = DynamicImage::ImageRgb8(RgbImage::from_raw(dst_image.width() as u32, dst_image.height() as u32, dst_image.buffer().to_vec()).unwrap());
123- // // rgba_image.save_with_format("fast_image.png", ImageFormat::Png).unwrap();
116+ // let rgba_image = DynamicImage::ImageRgb8(RgbImage::from_raw(dst_image.width() as u32, dst_image.height() as u32, dst_image.buffer().to_vec()).unwrap());
117+ // rgba_image.save_with_format("fast_image.png", ImageFormat::Png).unwrap();
124118 // image::save_buffer(
125119 // "fast_image.png",
126120 // dst_image.buffer(),
0 commit comments