clsPng.h 960 Bytes
#pragma once


namespace DmapCore_30
{
	class pattern_src_brightness_to_alpha_rgba8
	{
	private:
		agg::rendering_buffer* m_rb;
		pixfmt m_pf;
	public:
		pattern_src_brightness_to_alpha_rgba8(agg::rendering_buffer& rb) :
			m_rb(&rb), m_pf(*m_rb) {}

		unsigned width()  const { return m_pf.width(); }
		unsigned height() const { return m_pf.height(); }
		agg::rgba8 pixel(int x, int y) const
		{
			agg::rgba8 c = m_pf.pixel(x, y);
			// c.a = brightness_to_alpha[c.r + c.g + c.b]; //stbstb
			// c.r=255;
			// c.g=255;
			// c.b=255;
			c.a = 255; //brightness_to_alpha[c.r + c.g + c.b];
			return c;
		}
	};

	class clsPng
	{
	public:
		clsPng(void);
	public:
		~clsPng(void);
		//unsigned long width,height;
		//int channels;
		unsigned char *b;
	public:
		int ReadPng(const char * fileName, unsigned int colorThis);

	private:
		agg::pattern_filter_bilinear_rgba8 fltr;
	public:
		agg::line_image_pattern<agg::pattern_filter_bilinear_rgba8> *patta;
	};
}