var searchIndex = {}; searchIndex["image"] = {"doc":"This crate provides native rust implementations of\nimage encoders and decoders and basic image manipulation\nfunctions.","items":[[3,"Luma","image","Grayscale colors",null,null],[12,"data","","",0,null],[3,"LumaA","","Grayscale colors + alpha channel",null,null],[12,"data","","",1,null],[3,"Rgb","","RGB colors",null,null],[12,"data","","",2,null],[3,"Rgba","","RGB colors + alpha channel",null,null],[12,"data","","",3,null],[3,"SubImage","","A View into another image",null,null],[3,"Pixels","","Immutable pixel iterator",null,null],[3,"MutPixels","","Mutable pixel iterator",null,null],[3,"ImageBuffer","","Generic image buffer",null,null],[3,"Frame","","A single animation frame",null,null],[3,"Frames","","Holds the frames of the animated image",null,null],[4,"ColorType","","An enumeration over supported color types and their bit depths",null,null],[13,"Gray","","Pixel is grayscale",4,null],[13,"RGB","","Pixel contains R, G and B channels",4,null],[13,"Palette","","Pixel is an index into a color palette",4,null],[13,"GrayA","","Pixel is grayscale with an alpha channel",4,null],[13,"RGBA","","Pixel is RGB with an alpha channel",4,null],[4,"ImageError","","An enumeration of Image errors",null,null],[13,"FormatError","","The Image is not formatted properly",5,null],[13,"DimensionError","","The Image's dimensions are either too small or too large",5,null],[13,"UnsupportedError","","The Decoder does not support this image format",5,null],[13,"UnsupportedColor","","The Decoder does not support this color type",5,null],[13,"NotEnoughData","","Not enough data was provided to the Decoder\nto decode the image",5,null],[13,"IoError","","An I/O Error occurred while decoding the image",5,null],[13,"ImageEnd","","The end of the image has been reached",5,null],[4,"FilterType","","Available Sampling Filters",null,null],[13,"Nearest","","Nearest Neighbor",6,null],[13,"Triangle","","Linear Filter",6,null],[13,"CatmullRom","","Cubic Filter",6,null],[13,"Gaussian","","Gaussian Filter",6,null],[13,"Lanczos3","","Lanczos with window 3",6,null],[4,"ImageFormat","","An enumeration of supported image formats.\nNot all formats support both encoding and decoding.",null,null],[13,"PNG","","An Image in PNG Format",7,null],[13,"JPEG","","An Image in JPEG Format",7,null],[13,"GIF","","An Image in GIF Format",7,null],[13,"WEBP","","An Image in WEBP Format",7,null],[13,"PPM","","An Image in PPM Format",7,null],[13,"TIFF","","An Image in TIFF Format",7,null],[13,"TGA","","An Image in TGA Format",7,null],[13,"BMP","","An Image in BMP Format",7,null],[13,"ICO","","An Image in ICO Format",7,null],[4,"DynamicImage","","A Dynamic Image",null,null],[13,"ImageLuma8","","Each pixel in this image is 8-bit Luma",8,null],[13,"ImageLumaA8","","Each pixel in this image is 8-bit Luma with alpha",8,null],[13,"ImageRgb8","","Each pixel in this image is 8-bit Rgb",8,null],[13,"ImageRgba8","","Each pixel in this image is 8-bit Rgb with alpha",8,null],[5,"open","","Open the image located at the path specified.\nThe image's format is determined from the path's file extension.",null,{"inputs":[{"name":"p"}],"output":{"name":"imageresult"}}],[5,"load","","Create a new image from a Reader",null,{"inputs":[{"name":"r"},{"name":"imageformat"}],"output":{"name":"imageresult"}}],[5,"load_from_memory","","Create a new image from a byte slice",null,null],[5,"load_from_memory_with_format","","Create a new image from a byte slice",null,null],[5,"save_buffer","","Saves the supplied buffer to a file at the path specified.",null,null],[0,"math","","Mathematical helper functions and types.",null,null],[0,"utils","image::math","Shared mathematical utility functions.",null,null],[5,"clamp","image::math::utils","Cut value to be inside given range",null,{"inputs":[{"name":"n"},{"name":"n"},{"name":"n"}],"output":{"name":"n"}}],[0,"nq","image::math","NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994.\nSee "Kohonen neural networks for optimal colour quantization"\nin "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367.\nfor a discussion of the algorithm.\nSee also http://www.acm.org/~dekker/NEUQUANT.HTML",null,null],[3,"NeuQuant","image::math::nq","Neural network color quantizer",null,null],[11,"new","","Creates a new neuronal network and trains it with the supplied data",9,null],[11,"init","","Initializes the neuronal network and trains it with the supplied data",9,null],[11,"map_pixel","","Maps the pixel in-place to the best-matching color in the color map",9,null],[11,"index_of","","Finds the best-matching index in the color map for `pixel`",9,null],[0,"imageops","image","Image Processing Functions",null,null],[4,"FilterType","image::imageops","Available Sampling Filters",null,null],[13,"Nearest","","Nearest Neighbor",6,null],[13,"Triangle","","Linear Filter",6,null],[13,"CatmullRom","","Cubic Filter",6,null],[13,"Gaussian","","Gaussian Filter",6,null],[13,"Lanczos3","","Lanczos with window 3",6,null],[5,"rotate90","","Rotate an image 90 degrees clockwise.",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"rotate180","","Rotate an image 180 degrees clockwise.",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"rotate270","","Rotate an image 270 degrees clockwise.",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"flip_horizontal","","Flip an image horizontally",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"flip_vertical","","Flip an image vertically",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"filter3x3","","Perform a 3x3 box filter on the supplied image.\n```kernel``` is an array of the filter weights of length 9.",null,null],[5,"resize","","Resize the supplied image to the specified dimensions.\n```nwidth``` and ```nheight``` are the new dimensions.\n```filter``` is the sampling filter to use.",null,{"inputs":[{"name":"i"},{"name":"u32"},{"name":"u32"},{"name":"filtertype"}],"output":{"name":"imagebuffer"}}],[5,"blur","","Performs a Gaussian blur on the supplied image.\n```sigma``` is a measure of how much to blur by.",null,{"inputs":[{"name":"i"},{"name":"f32"}],"output":{"name":"imagebuffer"}}],[5,"unsharpen","","Performs an unsharpen mask on the supplied image.\n```sigma``` is the amount to blur the image by.\n```threshold``` is the threshold for the difference between",null,{"inputs":[{"name":"i"},{"name":"f32"},{"name":"i32"}],"output":{"name":"imagebuffer"}}],[5,"crop","","Return a mutable view into an image",null,{"inputs":[{"name":"i"},{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"u32"}],"output":{"name":"subimage"}}],[5,"overlay","","Overlay an image at a given coordinate (x, y)",null,{"inputs":[{"name":"i"},{"name":"i"},{"name":"u32"},{"name":"u32"}],"output":null}],[5,"replace","","Replace the contents of an image at a given coordinate (x, y)",null,{"inputs":[{"name":"i"},{"name":"i"},{"name":"u32"},{"name":"u32"}],"output":null}],[0,"colorops","","Public only because of Rust bug:\nhttps://github.com/rust-lang/rust/issues/18241\nFunctions for altering and converting the color of pixelbufs",null,null],[3,"BiLevel","image::imageops::colorops","A bi-level color map",null,null],[5,"grayscale","","Convert the supplied image to grayscale",null,{"inputs":[{"name":"i"}],"output":{"name":"imagebuffer"}}],[5,"invert","","Invert each pixel within the supplied image.\nThis function operates in place.",null,{"inputs":[{"name":"i"}],"output":null}],[5,"contrast","","Adjust the contrast of the supplied image.\n```contrast``` is the amount to adjust the contrast by.\nNegative values decrease the contrast and positive values increase the contrast.",null,{"inputs":[{"name":"i"},{"name":"f32"}],"output":{"name":"imagebuffer"}}],[5,"brighten","","Brighten the supplied image.\n```value``` is the amount to brighten each pixel by.\nNegative values decrease the brightness and positive values increase it.",null,{"inputs":[{"name":"i"},{"name":"i32"}],"output":{"name":"imagebuffer"}}],[5,"dither","","Reduces the colors of the image using the supplied `color_map` while applying\nFloyd-Steinberg dithering to improve the visual conception",null,{"inputs":[{"name":"imagebuffer"},{"name":"map"}],"output":null}],[5,"index_colors","","Reduces the colors using the supplied `color_map` and returns an image of the indices",null,{"inputs":[{"name":"imagebuffer"},{"name":"map"}],"output":{"name":"imagebuffer"}}],[8,"ColorMap","","A color map",null,null],[16,"Color","","The color type on which the map operates on",10,null],[10,"index_of","","Returns the index of the closed match of `color`\nin the color map.",10,null],[10,"map_color","","Maps `color` to the closest color in the color map.",10,null],[11,"clone","","",11,null],[11,"index_of","","",11,null],[11,"map_color","","",11,null],[11,"index_of","image::math::nq","",9,null],[11,"map_color","","",9,null],[11,"clone","image","",6,null],[0,"webp","","Decoding of Webp Images",null,null],[3,"WebpDecoder","image::webp","A Representation of a Webp Image format decoder.",null,null],[11,"new","","Create a new WebpDecoder from the Reader ```r```.\nThis function takes ownership of the Reader.",12,{"inputs":[{"name":"r"}],"output":{"name":"webpdecoder"}}],[11,"dimensions","","",12,null],[11,"colortype","","",12,null],[11,"row_len","","",12,null],[11,"read_scanline","","",12,null],[11,"read_image","","",12,null],[0,"vp8","","An implementation of the VP8 Video Codec",null,null],[3,"Frame","image::webp::vp8","A Representation of the last decoded video frame",null,null],[12,"width","","The width of the luma plane",13,null],[12,"height","","The height of the luma plane",13,null],[12,"ybuf","","The luma plane of the frame",13,null],[12,"keyframe","","Indicates whether this frame is a keyframe",13,null],[12,"for_display","","Indicates whether this frame is intended for display",13,null],[12,"pixel_type","","The pixel type of the frame as defined by Section 9.2\nof the VP8 Specification",13,null],[3,"VP8Decoder","","VP8 Decoder",null,null],[11,"clone","","",13,null],[11,"fmt","","",13,null],[11,"default","","",13,{"inputs":[],"output":{"name":"frame"}}],[11,"new","","Create a new decoder.\nThe reader must present a raw vp8 bitstream to the decoder",14,{"inputs":[{"name":"r"}],"output":{"name":"vp8decoder"}}],[11,"decode_frame","","Decodes the current frame and returns a reference to it",14,null],[0,"ppm","image","Encoding of portable pixmap Images",null,null],[3,"PPMEncoder","image::ppm","A representation of a PPM encoder.",null,null],[11,"new","","Create a new PPMEncoder from the Writer ```w```.\nThis function takes ownership of the Writer.",15,{"inputs":[{"name":"w"}],"output":{"name":"ppmencoder"}}],[11,"encode","","Encode the buffer ```im``` as a PPM image.\n```width``` and ```height``` are the dimensions of the buffer.\n```color``` is the buffers ColorType.",15,null],[0,"png","image","Decoding and Encoding of PNG Images",null,null],[3,"PNGDecoder","image::png","PNG decoder",null,null],[3,"PNGEncoder","","PNG encoder",null,null],[11,"new","","Creates a new decoder that decodes from the stream ```r```",16,{"inputs":[{"name":"r"}],"output":{"name":"pngdecoder"}}],[11,"dimensions","","",16,null],[11,"colortype","","",16,null],[11,"row_len","","",16,null],[11,"read_scanline","","",16,null],[11,"read_image","","",16,null],[11,"new","","Create a new encoder that writes its output to ```w```",17,{"inputs":[{"name":"w"}],"output":{"name":"pngencoder"}}],[11,"encode","","Encodes the image ```image```\nthat has dimensions ```width``` and ```height```\nand ```ColorType``` ```c```",17,null],[11,"from","image","",4,null],[11,"from","","",5,{"inputs":[{"name":"decodingerror"}],"output":{"name":"imageerror"}}],[0,"ico","","Decoding of ICO files",null,null],[3,"ICODecoder","image::ico","An ico decoder",null,null],[11,"new","","Create a new decoder that decodes from the stream ```r```",18,{"inputs":[{"name":"r"}],"output":{"name":"imageresult"}}],[11,"dimensions","","",18,null],[11,"colortype","","",18,null],[11,"row_len","","",18,null],[11,"read_scanline","","",18,null],[11,"read_image","","",18,null],[0,"jpeg","image","Decoding and Encoding of JPEG Images",null,null],[3,"JPEGDecoder","image::jpeg","JPEG decoder",null,null],[3,"JPEGEncoder","","The representation of a JPEG encoder",null,null],[11,"new","","Create a new encoder that writes its output to ```w```",19,{"inputs":[{"name":"w"}],"output":{"name":"jpegencoder"}}],[11,"encode","","Encodes the image ```image```\nthat has dimensions ```width``` and ```height```\nand ```ColorType``` ```c```",19,null],[11,"new","","Create a new decoder that decodes from the stream ```r```",20,{"inputs":[{"name":"r"}],"output":{"name":"jpegdecoder"}}],[11,"dimensions","","",20,null],[11,"colortype","","",20,null],[11,"row_len","","",20,null],[11,"read_scanline","","",20,null],[11,"read_image","","",20,null],[11,"from","image","",4,{"inputs":[{"name":"pixelformat"}],"output":{"name":"colortype"}}],[11,"from","","",5,{"inputs":[{"name":"error"}],"output":{"name":"imageerror"}}],[0,"gif","","Decoding of GIF Images",null,null],[3,"Frame","image::gif","A GIF frame",null,null],[12,"delay","","Frame delay in units of 10 ms.",21,null],[12,"dispose","","Disposal method.",21,null],[12,"transparent","","Transparent index (if available).",21,null],[12,"needs_user_input","","True if the frame needs user input do be displayed.",21,null],[12,"top","","Offset from the top border of the canvas.",21,null],[12,"left","","Offset from the left border of the canvas.",21,null],[12,"width","","Width of the frame.",21,null],[12,"height","","Height of the frame.",21,null],[12,"interlaced","","True if the image is interlaced.",21,null],[12,"palette","","Frame local color palette if available.",21,null],[12,"buffer","","Buffer containing the image data.\nOnly indices unless configured differently.",21,null],[3,"Decoder","","GIF decoder",null,null],[3,"Encoder","","GIF encoder.",null,null],[11,"new","","Creates a new decoder that decodes the input steam ```r```",22,{"inputs":[{"name":"r"}],"output":{"name":"decoder"}}],[11,"dimensions","","",22,null],[11,"colortype","","",22,null],[11,"row_len","","",22,null],[11,"read_scanline","","",22,null],[11,"read_image","","",22,null],[11,"new","","Creates a new GIF encoder.",23,{"inputs":[{"name":"w"}],"output":{"name":"encoder"}}],[11,"encode","","Encodes a frame.",23,null],[11,"from","image","",5,{"inputs":[{"name":"decodingerror"}],"output":{"name":"imageerror"}}],[0,"tiff","","Decoding and Encoding of TIFF Images",null,null],[3,"TIFFDecoder","image::tiff","The representation of a TIFF decoder",null,null],[11,"fmt","","",24,null],[11,"new","","Create a new decoder that decodes from the stream ```r```",24,{"inputs":[{"name":"r"}],"output":{"name":"imageresult"}}],[11,"init","","Initializes the decoder.",24,null],[11,"next_image","","Reads in the next image.\nIf there is no further image in the TIFF file a format error is return.\nTo determine whether there are more images call `TIFFDecoder::more_images` instead.",24,null],[11,"more_images","","Returns `true` if there is at least one more image available.",24,null],[11,"byte_order","","Returns the byte_order",24,null],[11,"read_short","","Reads a TIFF short value",24,null],[11,"read_long","","Reads a TIFF long value",24,null],[11,"read_offset","","Reads a TIFF IFA offset/value field",24,null],[11,"goto_offset","","Moves the cursor to the specified offset",24,null],[11,"dimensions","","",24,null],[11,"colortype","","",24,null],[11,"row_len","","",24,null],[11,"read_scanline","","",24,null],[11,"read_image","","",24,null],[0,"tga","image","Decoding of TGA Images",null,null],[3,"TGADecoder","image::tga","The representation of a TGA decoder",null,null],[11,"new","","Create a new decoder that decodes from the stream `r`",25,{"inputs":[{"name":"r"}],"output":{"name":"tgadecoder"}}],[11,"dimensions","","",25,null],[11,"colortype","","",25,null],[11,"row_len","","",25,null],[11,"read_scanline","","",25,null],[11,"read_image","","",25,null],[0,"bmp","image","Decoding of BMP Images",null,null],[3,"BMPDecoder","image::bmp","A bmp decoder",null,null],[11,"new","","Create a new decoder that decodes from the stream ```r```",26,{"inputs":[{"name":"r"}],"output":{"name":"bmpdecoder"}}],[11,"dimensions","","",26,null],[11,"colortype","","",26,null],[11,"row_len","","",26,null],[11,"read_scanline","","",26,null],[11,"read_image","","",26,null],[11,"fmt","image","",5,null],[11,"fmt","","",5,null],[11,"description","","",5,null],[11,"cause","","",5,null],[11,"from","","",5,{"inputs":[{"name":"error"}],"output":{"name":"imageerror"}}],[11,"fmt","","",7,null],[11,"eq","","",7,null],[11,"clone","","",7,null],[11,"next","","",27,null],[11,"next","","",28,null],[11,"new","","Construct a new subimage",29,{"inputs":[{"name":"i"},{"name":"u32"},{"name":"u32"},{"name":"u32"},{"name":"u32"}],"output":{"name":"subimage"}}],[11,"inner_mut","","Returns a mutable reference to the wrapped image.",29,null],[11,"change_bounds","","Change the coordinates of this subimage.",29,null],[11,"to_image","","Convert this subimage to an ImageBuffer",29,null],[11,"dimensions","","",29,null],[11,"bounds","","",29,null],[11,"get_pixel","","",29,null],[11,"put_pixel","","",29,null],[11,"blend_pixel","","DEPRECATED: This method will be removed. Blend the pixel directly instead.",29,null],[11,"get_pixel_mut","","",29,null],[11,"clone","","",8,null],[11,"new_luma8","","Creates a dynamic image backed by a buffer of grey pixels.",8,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"dynamicimage"}}],[11,"new_luma_a8","","Creates a dynamic image backed by a buffer of grey\npixels with transparency.",8,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"dynamicimage"}}],[11,"new_rgb8","","Creates a dynamic image backed by a buffer of RGB pixels.",8,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"dynamicimage"}}],[11,"new_rgba8","","Creates a dynamic image backed by a buffer of RGBA pixels.",8,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"dynamicimage"}}],[11,"to_rgb","","Returns a copy of this image as an RGB image.",8,null],[11,"to_rgba","","Returns a copy of this image as an RGBA image.",8,null],[11,"to_luma","","Returns a copy of this image as a Luma image.",8,null],[11,"to_luma_alpha","","Returns a copy of this image as a LumaA image.",8,null],[11,"crop","","Return a cut out of this image delimited by the bounding rectangle.",8,null],[11,"as_rgb8","","Return a reference to an 8bit RGB image",8,null],[11,"as_mut_rgb8","","Return a mutable reference to an 8bit RGB image",8,null],[11,"as_rgba8","","Return a reference to an 8bit RGBA image",8,null],[11,"as_mut_rgba8","","Return a mutable reference to an 8bit RGBA image",8,null],[11,"as_luma8","","Return a reference to an 8bit Grayscale image",8,null],[11,"as_mut_luma8","","Return a mutable reference to an 8bit Grayscale image",8,null],[11,"as_luma_alpha8","","Return a reference to an 8bit Grayscale image with an alpha channel",8,null],[11,"as_mut_luma_alpha8","","Return a mutable reference to an 8bit Grayscale image with an alpha channel",8,null],[11,"raw_pixels","","Return this image's pixels as a byte vector.",8,null],[11,"color","","Return this image's color type.",8,null],[11,"grayscale","","Return a grayscale version of this image.",8,null],[11,"invert","","Invert the colors of this image.\nThis method operates inplace.",8,null],[11,"resize","","Resize this image using the specified filter algorithm.\nReturns a new image. The image's aspect ratio is preserved.\n```nwidth``` and ```nheight``` are the new image's dimensions",8,null],[11,"resize_exact","","Resize this image using the specified filter algorithm.\nReturns a new image. Does not preserve aspect ratio.\n```nwidth``` and ```nheight``` are the new image's dimensions",8,null],[11,"blur","","Performs a Gaussian blur on this image.\n```sigma``` is a measure of how much to blur by.",8,null],[11,"unsharpen","","Performs an unsharpen mask on this image.\n```sigma``` is the amount to blur the image by.\n```threshold``` is a control of how much to sharpen.",8,null],[11,"filter3x3","","Filters this image with the specified 3x3 kernel.",8,null],[11,"adjust_contrast","","Adjust the contrast of this image.\n```contrast``` is the amount to adjust the contrast by.\nNegative values decrease the contrast and positive values increase the contrast.",8,null],[11,"brighten","","Brighten the pixels of this image.\n```value``` is the amount to brighten each pixel by.\nNegative values decrease the brightness and positive values increase it.",8,null],[11,"flipv","","Flip this image vertically",8,null],[11,"fliph","","Flip this image horizontally",8,null],[11,"rotate90","","Rotate this image 90 degrees clockwise.",8,null],[11,"rotate180","","Rotate this image 180 degrees clockwise.",8,null],[11,"rotate270","","Rotate this image 270 degrees clockwise.",8,null],[11,"save","","Encode this image and write it to ```w```",8,null],[11,"dimensions","","",8,null],[11,"bounds","","",8,null],[11,"get_pixel","","",8,null],[11,"put_pixel","","",8,null],[11,"blend_pixel","","DEPRECATED: Use iterator `pixels_mut` to blend the pixels directly.",8,null],[11,"get_pixel_mut","","DEPRECATED: Do not use is function: It is unimplemented!",8,null],[11,"clone","","",4,null],[11,"fmt","","",4,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"hash","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"channel_count","","",2,{"inputs":[],"output":{"name":"u8"}}],[11,"color_model","","",2,{"inputs":[],"output":{"name":"str"}}],[11,"color_type","","",2,{"inputs":[],"output":{"name":"colortype"}}],[11,"channels","","",2,null],[11,"channels_mut","","",2,null],[11,"channels4","","",2,null],[11,"from_channels","","",2,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"rgb"}}],[11,"from_slice","","",2,null],[11,"from_slice_mut","","",2,null],[11,"to_rgb","","",2,null],[11,"to_rgba","","",2,null],[11,"to_luma","","",2,null],[11,"to_luma_alpha","","",2,null],[11,"map","","",2,null],[11,"apply","","",2,null],[11,"map_with_alpha","","",2,null],[11,"apply_with_alpha","","",2,null],[11,"map2","","",2,null],[11,"apply2","","",2,null],[11,"invert","","",2,null],[11,"blend","","",2,null],[11,"index","","",2,null],[11,"index_mut","","",2,null],[11,"hash","","",0,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"channel_count","","",0,{"inputs":[],"output":{"name":"u8"}}],[11,"color_model","","",0,{"inputs":[],"output":{"name":"str"}}],[11,"color_type","","",0,{"inputs":[],"output":{"name":"colortype"}}],[11,"channels","","",0,null],[11,"channels_mut","","",0,null],[11,"channels4","","",0,null],[11,"from_channels","","",0,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"luma"}}],[11,"from_slice","","",0,null],[11,"from_slice_mut","","",0,null],[11,"to_rgb","","",0,null],[11,"to_rgba","","",0,null],[11,"to_luma","","",0,null],[11,"to_luma_alpha","","",0,null],[11,"map","","",0,null],[11,"apply","","",0,null],[11,"map_with_alpha","","",0,null],[11,"apply_with_alpha","","",0,null],[11,"map2","","",0,null],[11,"apply2","","",0,null],[11,"invert","","",0,null],[11,"blend","","",0,null],[11,"index","","",0,null],[11,"index_mut","","",0,null],[11,"hash","","",3,null],[11,"fmt","","",3,null],[11,"clone","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"channel_count","","",3,{"inputs":[],"output":{"name":"u8"}}],[11,"color_model","","",3,{"inputs":[],"output":{"name":"str"}}],[11,"color_type","","",3,{"inputs":[],"output":{"name":"colortype"}}],[11,"channels","","",3,null],[11,"channels_mut","","",3,null],[11,"channels4","","",3,null],[11,"from_channels","","",3,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"rgba"}}],[11,"from_slice","","",3,null],[11,"from_slice_mut","","",3,null],[11,"to_rgb","","",3,null],[11,"to_rgba","","",3,null],[11,"to_luma","","",3,null],[11,"to_luma_alpha","","",3,null],[11,"map","","",3,null],[11,"apply","","",3,null],[11,"map_with_alpha","","",3,null],[11,"apply_with_alpha","","",3,null],[11,"map2","","",3,null],[11,"apply2","","",3,null],[11,"invert","","",3,null],[11,"blend","","",3,null],[11,"index","","",3,null],[11,"index_mut","","",3,null],[11,"hash","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"channel_count","","",1,{"inputs":[],"output":{"name":"u8"}}],[11,"color_model","","",1,{"inputs":[],"output":{"name":"str"}}],[11,"color_type","","",1,{"inputs":[],"output":{"name":"colortype"}}],[11,"channels","","",1,null],[11,"channels_mut","","",1,null],[11,"channels4","","",1,null],[11,"from_channels","","",1,{"inputs":[{"name":"t"},{"name":"t"},{"name":"t"},{"name":"t"}],"output":{"name":"lumaa"}}],[11,"from_slice","","",1,null],[11,"from_slice_mut","","",1,null],[11,"to_rgb","","",1,null],[11,"to_rgba","","",1,null],[11,"to_luma","","",1,null],[11,"to_luma_alpha","","",1,null],[11,"map","","",1,null],[11,"apply","","",1,null],[11,"map_with_alpha","","",1,null],[11,"apply_with_alpha","","",1,null],[11,"map2","","",1,null],[11,"apply2","","",1,null],[11,"invert","","",1,null],[11,"blend","","",1,null],[11,"index","","",1,null],[11,"index_mut","","",1,null],[11,"from_raw","","Contructs a buffer from a generic container\n(for example a `Vec` or a slice)",30,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"container"}],"output":{"name":"option"}}],[11,"into_raw","","Returns the underlying raw buffer",30,null],[11,"dimensions","","The width and height of this image.",30,null],[11,"width","","The width of this image.",30,null],[11,"height","","The height of this image.",30,null],[11,"pixels","","Returns an iterator over the pixels of this image.",30,null],[11,"enumerate_pixels","","Enumerates over the pixels of the image.\nThe iterator yields the coordinates of each pixel\nalong with a reference to them.",30,null],[11,"get_pixel","","Gets a reference to the pixel at location `(x, y)`",30,null],[11,"pixels_mut","","Returns an iterator over the mutable pixels of this image.\nThe iterator yields the coordinates of each pixel\nalong with a mutable reference to them.",30,null],[11,"enumerate_pixels_mut","","Enumerates over the pixels of the image.",30,null],[11,"get_pixel_mut","","Gets a reference to the mutable pixel at location `(x, y)`",30,null],[11,"put_pixel","","Puts a pixel at location `(x, y)`",30,null],[11,"save","","Saves the buffer to a file at the path specified.",30,null],[11,"deref","","",30,null],[11,"deref_mut","","",30,null],[11,"index","","",30,null],[11,"index_mut","","",30,null],[11,"clone","","",30,null],[11,"dimensions","","",30,null],[11,"bounds","","",30,null],[11,"get_pixel","","",30,null],[11,"get_pixel_mut","","",30,null],[11,"unsafe_get_pixel","","Returns the pixel located at (x, y), ignoring bounds checking.",30,null],[11,"put_pixel","","",30,null],[11,"unsafe_put_pixel","","Puts a pixel at location (x, y), ignoring bounds checking.",30,null],[11,"blend_pixel","","Put a pixel at location (x, y), taking into account alpha channels",30,null],[11,"new","","Creates a new image buffer based on a `Vec<P::Subpixel>`.",30,{"inputs":[{"name":"u32"},{"name":"u32"}],"output":{"name":"imagebuffer"}}],[11,"from_pixel","","Constructs a new ImageBuffer by copying a pixel",30,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"p"}],"output":{"name":"imagebuffer"}}],[11,"from_fn","","Constructs a new ImageBuffer by repeated application of the supplied function.\nThe arguments to the function are the pixel's x and y coordinates.",30,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"f"}],"output":{"name":"imagebuffer"}}],[11,"from_vec","","Creates an image buffer out of an existing buffer.\nReturns None if the buffer is not big enough.",30,{"inputs":[{"name":"u32"},{"name":"u32"},{"name":"vec"}],"output":{"name":"option"}}],[11,"into_vec","","Consumes the image buffer and returns the underlying data\nas an owned buffer",30,null],[11,"convert","","",30,null],[11,"new","","Contructs a new frame iterator",31,{"inputs":[{"name":"vec"}],"output":{"name":"frames"}}],[11,"clone","","",32,null],[11,"new","","Contructs a new frame",32,{"inputs":[{"name":"rgbaimage"}],"output":{"name":"frame"}}],[11,"from_parts","","Contructs a new frame",32,{"inputs":[{"name":"rgbaimage"},{"name":"u32"},{"name":"u32"},{"name":"ratio"}],"output":{"name":"frame"}}],[11,"delay","","Delay of this frame",32,null],[11,"buffer","","Returns the image buffer",32,null],[11,"into_buffer","","Returns the image buffer",32,null],[11,"left","","Returns the x offset",32,null],[11,"top","","Returns the y offset",32,null],[11,"next","","",31,null],[6,"ImageResult","","Result of an image decoding/encoding process",null,null],[6,"RgbImage","","Sendable Rgb image buffer",null,null],[6,"RgbaImage","","Sendable Rgb + alpha channel image buffer",null,null],[6,"GrayImage","","Sendable grayscale image buffer",null,null],[6,"GrayAlphaImage","","Sendable grayscale + alpha channel image buffer",null,null],[8,"ImageDecoder","","The trait that all decoders implement",null,null],[10,"dimensions","","Returns a tuple containing the width and height of the image",33,null],[10,"colortype","","Returns the color type of the image e.g. RGB(8) (8bit RGB)",33,null],[10,"row_len","","Returns the length in bytes of one decoded row of the image",33,null],[10,"read_scanline","","Reads one row from the image into ```buf``` and returns the row index",33,null],[10,"read_image","","Decodes the entire image and return it as a Vector",33,null],[11,"is_animated","","Returns true if the image is animated",33,null],[11,"into_frames","","Returns the frames of the image",33,null],[11,"load_rect","","Decodes a specific region of the image, represented by the rectangle\nstarting from ```x``` and ```y``` and having ```length``` and ```width```",33,null],[8,"GenericImage","","A trait for manipulating images.",null,null],[16,"Pixel","","The type of pixel.",34,null],[10,"dimensions","","The width and height of this image.",34,null],[11,"width","","The width of this image.",34,null],[11,"height","","The height of this image.",34,null],[10,"bounds","","The bounding rectangle of this image.",34,null],[11,"in_bounds","","Returns true if this x, y coordinate is contained inside the image.",34,null],[10,"get_pixel","","Returns the pixel located at (x, y)",34,null],[10,"get_pixel_mut","","Puts a pixel at location (x, y)",34,null],[11,"unsafe_get_pixel","","Returns the pixel located at (x, y)",34,null],[10,"put_pixel","","Put a pixel at location (x, y)",34,null],[11,"unsafe_put_pixel","","Puts a pixel at location (x, y)",34,null],[10,"blend_pixel","","Put a pixel at location (x, y), taking into account alpha channels",34,null],[11,"pixels","","Returns an Iterator over the pixels of this image.\nThe iterator yields the coordinates of each pixel\nalong with their value",34,null],[11,"pixels_mut","","Returns an Iterator over mutable pixels of this image.\nThe iterator yields the coordinates of each pixel\nalong with a mutable reference to them.",34,null],[11,"copy_from","","Copies all of the pixels from another image into this image.",34,null],[11,"sub_image","","Returns a subimage that is a view into this image.",34,null],[8,"Pixel","","A generalized pixel.",null,null],[16,"Subpixel","","The underlying subpixel type.",35,null],[10,"channel_count","","Returns the number of channels of this pixel type.",35,{"inputs":[],"output":{"name":"u8"}}],[10,"channels","","Returns the components as a slice.",35,null],[10,"channels_mut","","Returns the components as a mutable slice",35,null],[10,"color_model","","Returns a string that can help to interprete the meaning each channel\nSee [gimp babl](http://gegl.org/babl/).",35,{"inputs":[],"output":{"name":"str"}}],[10,"color_type","","Returns the ColorType for this pixel format",35,{"inputs":[],"output":{"name":"colortype"}}],[10,"channels4","","Returns the channels of this pixel as a 4 tuple. If the pixel\nhas less than 4 channels the remainder is filled with the maximum value",35,null],[10,"from_channels","","Construct a pixel from the 4 channels a, b, c and d.\nIf the pixel does not contain 4 channels the extra are ignored.",35,{"inputs":[{"name":"subpixel"},{"name":"subpixel"},{"name":"subpixel"},{"name":"subpixel"}],"output":{"name":"self"}}],[10,"from_slice","","Returns a view into a slice.",35,null],[10,"from_slice_mut","","Returns mutable view into a mutable slice.",35,null],[10,"to_rgb","","Convert this pixel to RGB",35,null],[10,"to_rgba","","Convert this pixel to RGB with an alpha channel",35,null],[10,"to_luma","","Convert this pixel to luma",35,null],[10,"to_luma_alpha","","Convert this pixel to luma with an alpha channel",35,null],[10,"map","","Apply the function ```f``` to each channel of this pixel.",35,null],[10,"apply","","Apply the function ```f``` to each channel of this pixel.",35,null],[10,"map_with_alpha","","Apply the function ```f``` to each channel except the alpha channel.\nApply the function ```g``` to the alpha channel.",35,null],[10,"apply_with_alpha","","Apply the function ```f``` to each channel except the alpha channel.\nApply the function ```g``` to the alpha channel. Works in-place.",35,null],[10,"map2","","Apply the function ```f``` to each channel of this pixel and\n```other``` pairwise.",35,null],[10,"apply2","","Apply the function ```f``` to each channel of this pixel and\n```other``` pairwise. Works in-place.",35,null],[10,"invert","","Invert this pixel",35,null],[10,"blend","","Blend the color of a given pixel into ourself, taking into account alpha channels",35,null],[8,"ConvertBuffer","","Provides color conversions for whole image buffers.",null,null],[10,"convert","","Converts `self` to a buffer of type T",36,null],[8,"Primitive","","Primitive trait from old stdlib",null,null],[11,"from_rgba","image::gif","Creates a frame from pixels in RGBA format.",21,null],[11,"from_rgb","","Creates a frame from pixels in RGB format.",21,null],[11,"clone","","",21,null],[11,"fmt","","",21,null],[11,"default","","",21,{"inputs":[],"output":{"name":"frame"}}],[11,"is_animated","image","Returns true if the image is animated",33,null],[11,"into_frames","","Returns the frames of the image",33,null],[11,"load_rect","","Decodes a specific region of the image, represented by the rectangle\nstarting from ```x``` and ```y``` and having ```length``` and ```width```",33,null],[11,"width","","The width of this image.",34,null],[11,"height","","The height of this image.",34,null],[11,"in_bounds","","Returns true if this x, y coordinate is contained inside the image.",34,null],[11,"unsafe_get_pixel","","Returns the pixel located at (x, y)",34,null],[11,"unsafe_put_pixel","","Puts a pixel at location (x, y)",34,null],[11,"pixels","","Returns an Iterator over the pixels of this image.\nThe iterator yields the coordinates of each pixel\nalong with their value",34,null],[11,"pixels_mut","","Returns an Iterator over mutable pixels of this image.\nThe iterator yields the coordinates of each pixel\nalong with a mutable reference to them.",34,null],[11,"copy_from","","Copies all of the pixels from another image into this image.",34,null],[11,"sub_image","","Returns a subimage that is a view into this image.",34,null],[11,"expand_palette","","Expands a color palette by re-using the existing buffer.\nAssumes 8 bit per pixel. Uses an optionally transparent index to\nadjust it's alpha value accordingly.",37,null]],"paths":[[3,"Luma"],[3,"LumaA"],[3,"Rgb"],[3,"Rgba"],[4,"ColorType"],[4,"ImageError"],[4,"FilterType"],[4,"ImageFormat"],[4,"DynamicImage"],[3,"NeuQuant"],[8,"ColorMap"],[3,"BiLevel"],[3,"WebpDecoder"],[3,"Frame"],[3,"VP8Decoder"],[3,"PPMEncoder"],[3,"PNGDecoder"],[3,"PNGEncoder"],[3,"ICODecoder"],[3,"JPEGEncoder"],[3,"JPEGDecoder"],[3,"Frame"],[3,"Decoder"],[3,"Encoder"],[3,"TIFFDecoder"],[3,"TGADecoder"],[3,"BMPDecoder"],[3,"Pixels"],[3,"MutPixels"],[3,"SubImage"],[3,"ImageBuffer"],[3,"Frames"],[3,"Frame"],[8,"ImageDecoder"],[8,"GenericImage"],[8,"Pixel"],[8,"ConvertBuffer"],[6,"GrayImage"]]}; initSearch(searchIndex);