⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 image.h

📁 一个开源的嵌入式flash播放器 具体看文档和例子就可
💻 H
字号:
// image.h	-- Thatcher Ulrich <tu@tulrich.com> 2002// This source code has been donated to the Public Domain.  Do// whatever you want with it.// Handy image utilities for RGB surfaces.#ifndef IMAGE_H#define IMAGE_H#include "base/tu_config.h"#include "base/tu_types.h"class tu_file;namespace jpeg { struct input; };namespace image{	struct image_base	{		Uint8*	m_data;		int	m_width;		int	m_height;		int	m_pitch;	// byte offset from one row to the next		image_base(Uint8* data, int width, int height, int pitch);	};	// 24-bit RGB image.  Packed data, red byte first (RGBRGB...)	struct rgb : public image_base	{		rgb(int width, int height);		~rgb();	};	// 32-bit RGBA image.  Packed data, red byte first (RGBARGBA...)	struct rgba : public image_base	{		rgba(int width, int height);		~rgba();		void	set_pixel(int x, int y, Uint8 r, Uint8 g, Uint8 b, Uint8 a);	};	// 8-bit alpha image.	struct alpha : public image_base	{		alpha(int width, int height);		~alpha();		void	set_pixel(int x, int y, Uint8 a);		// Bitwise content comparison.		bool	operator==(const alpha& a) const;		// Return a hash code based on the image contents.		unsigned int	compute_hash() const;	};	// Make a system-memory 24-bit bitmap surface.  24-bit packed	// data, red byte first.	rgb*	create_rgb(int width, int height);	// Make a system-memory 32-bit bitmap surface.  Packed data,	// red byte first.	rgba*	create_rgba(int width, int height);	// Make a system-memory 8-bit bitmap surface.	alpha*	create_alpha(int width, int height);		Uint8*	scanline(image_base* surf, int y);	const Uint8*	scanline(const image_base* surf, int y);	void	resample(rgb* out, int out_x0, int out_y0, int out_x1, int out_y1,			 rgb* in, float in_x0, float in_y0, float in_x1, float in_y1);	void	resample(rgba* out, int out_x0, int out_y0, int out_x1, int out_y1,			 rgba* in, float in_x0, float in_y0, float in_x1, float in_y1);	void	write_jpeg(tu_file* out, rgb* image, int quality);	void	write_tga(tu_file* out, rgba* image);	rgb*	read_jpeg(const char* filename);	rgb*	read_jpeg(tu_file* in);	// For reading SWF JPEG2-style image data (slight variation on	// ordinary JPEG).	rgb*	read_swf_jpeg2(tu_file* in);	// For reading SWF JPEG2-style image data, using pre-loaded	// headers stored in the given jpeg::input object.	rgb*	read_swf_jpeg2_with_tables(jpeg::input* loader);	// For reading SWF JPEG3-style image data, like ordinary JPEG, 	// but stores the data in rgba format.	rgba*	read_swf_jpeg3(tu_file* in);	// Fast, in-place, DESTRUCTIVE resample.  For making mip-maps.	// Munges the input image to produce the output image.	void	make_next_miplevel(rgb* image);	void	make_next_miplevel(rgba* image);};#endif // IMAGE_H// Local Variables:// mode: C++// c-basic-offset: 8 // tab-width: 8// indent-tabs-mode: t// End:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -