@@ -148,57 +148,6 @@ pub enum EncodeError {
148148#[ error( "Unsupported format {1}" ) ]
149149pub struct UnsupportedImageError < TIn > ( TIn , Cow < ' static , str > ) ;
150150
151- #[ cfg( feature = "image" ) ]
152- pub trait FromImage : Sized {
153- fn from_image ( value : image:: DynamicImage ) -> Result < Self , std:: num:: TryFromIntError > ;
154- }
155-
156- #[ cfg( feature = "image" ) ]
157- impl FromImage for DynamicImage {
158- fn from_image ( value : image:: DynamicImage ) -> Result < Self , std:: num:: TryFromIntError > {
159- use image:: GenericImageView ;
160-
161- let ( width, height) = value. dimensions ( ) ;
162- let ( width, height) = ( width. try_into ( ) ?, height. try_into ( ) ?) ;
163- Ok ( match value {
164- image:: DynamicImage :: ImageLuma8 ( x) => {
165- Image :: < u8 , 1 > :: new_vec ( x. into_vec ( ) , width, height) . into ( )
166- }
167- image:: DynamicImage :: ImageLuma16 ( x) => {
168- Image :: < u16 , 1 > :: new_vec ( x. into_vec ( ) , width, height) . into ( )
169- }
170- image:: DynamicImage :: ImageLumaA8 ( x) => {
171- Image :: < [ u8 ; 2 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
172- }
173- image:: DynamicImage :: ImageLumaA16 ( x) => {
174- Image :: < [ u16 ; 2 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
175- }
176- image:: DynamicImage :: ImageRgb8 ( x) => {
177- Image :: < [ u8 ; 3 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
178- }
179- image:: DynamicImage :: ImageRgb16 ( x) => {
180- Image :: < [ u16 ; 3 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
181- }
182- image:: DynamicImage :: ImageRgb32F ( x) => {
183- Image :: < [ f32 ; 3 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
184- }
185- image:: DynamicImage :: ImageRgba8 ( x) => {
186- Image :: < [ u8 ; 4 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
187- }
188- image:: DynamicImage :: ImageRgba16 ( x) => {
189- Image :: < [ u16 ; 4 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
190- }
191- image:: DynamicImage :: ImageRgba32F ( x) => {
192- Image :: < [ f32 ; 4 ] , 1 > :: new_vec_flat ( x. into_vec ( ) , width, height) . into ( )
193- }
194- _ => {
195- tracing:: error!( "Unexhaustive Enum was extended... returning wrong error" ) ;
196- return Err ( NonZeroU32 :: try_from ( 0 ) . unwrap_err ( ) ) ;
197- }
198- } )
199- }
200- }
201-
202151#[ cfg( test) ]
203152mod tests {
204153 use super :: * ;
@@ -213,19 +162,4 @@ mod tests {
213162 vec!( 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 , 1 , 2 , 3 )
214163 ) ;
215164 }
216-
217- #[ test]
218- #[ cfg( feature = "image" ) ]
219- fn create_image_from_zero_width_fails ( ) {
220- let image: :: image:: ImageBuffer < image:: Luma < u8 > , Vec < u8 > > =
221- image:: ImageBuffer :: from_raw ( 0 , 1 , vec ! [ ] ) . unwrap ( ) ;
222- DynamicImage :: from_image ( image. into ( ) ) . unwrap_err ( ) ;
223- }
224- #[ test]
225- #[ cfg( feature = "image" ) ]
226- fn create_image_from_zero_height_fails ( ) {
227- let image: :: image:: ImageBuffer < image:: Luma < u8 > , Vec < u8 > > =
228- image:: ImageBuffer :: from_raw ( 1 , 0 , vec ! [ ] ) . unwrap ( ) ;
229- DynamicImage :: from_image ( image. into ( ) ) . unwrap_err ( ) ;
230- }
231165}
0 commit comments