Exemple #1
0
        public DataImageSurface ToDataImageSurface()
        {
            PixelFormat pixelformat_src;
            SlideImage slide = new SlideImage ();
            slide.CopyProperties (this);
            slide.pixels = (byte[]) this.Pixels.Clone();
            slide.ProcessEffects ();

            pixelformat_src = slide.pixel_format; // Pixel format of current buffer
            slide.pixel_format = PixelFormat.CAIRO_ARGB; // New target format
            slide.LoadFromPixelData (slide.pixels, pixelformat_src,
                width, height, width * slide.channels, slide.channels);

            return new DataImageSurface (DataImageSurface.Allocate (slide.Pixels),
                Cairo.Format.ARGB32, slide.width, slide.height, slide.stride);
        }
Exemple #2
0
        public DataImageSurface GetThumbnail(int width, int height, bool copy_title)
        {
            PixelFormat pixelformat_src;
            SlideImage slide = new SlideImage ();
            slide.CopyProperties (this);
            if(copy_title)
                slide.Title = Title;
            slide.LoadAndScaleImage (width, height);
            slide.ProcessEffects ();
            slide.ProcessImage ();

            pixelformat_src = slide.pixel_format; // Pixel format of current buffer
            slide.pixel_format = PixelFormat.CAIRO_ARGB; // New target format
            slide.LoadFromPixelData (slide.pixels, pixelformat_src,
                width, height, width * slide.channels, slide.channels);

            return new DataImageSurface (DataImageSurface.Allocate (slide.Pixels),
                Cairo.Format.ARGB32, slide.width, slide.height, slide.stride);
        }