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

📄 qimage-h.html

📁 QT 下载资料仅供参考
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- /home/reggie/tmp/qt-3.0-reggie-5401/qt-x11-commercial-3.0.5/include/qimage.h:1 --><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>qimage.h Include File</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: #ffffff; color: black; }--></style></head><body><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr bgcolor="#E5E5E5"><td valign=center> <a href="index.html"><font color="#004faf">Home</font></a> | <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a> | <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a> | <a href="annotated.html"><font color="#004faf">Annotated</font></a> | <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a> | <a href="functions.html"><font color="#004faf">Functions</font></a></td><td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qimage.h</h1><p>This is the verbatim text of the qimage.h include file. It is provided only for illustration; the copyright remains with Trolltech.<hr><pre>/****************************************************************************** $Id:  qt/qimage.h   3.0.5   edited Oct 12 2001 $**** Definition of QImage and QImageIO classes**** Created : 950207**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of the kernel module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** This file may be distributed and/or modified under the terms of the** GNU General Public License version 2 as published by the Free Software** Foundation and appearing in the file LICENSE.GPL included in the** packaging of this file.**** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition** licenses may use this file in accordance with the Qt Commercial License** Agreement provided with the Software.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.**** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** See http://www.trolltech.com/gpl/ for GPL licensing information.**** Contact info@trolltech.com if any conditions of this licensing are** not clear to you.************************************************************************/#ifndef QIMAGE_H#define QIMAGE_H#ifndef QT_H#include "qpixmap.h"#include "qstrlist.h"#include "qstringlist.h"#endif // QT_Hclass QImageDataMisc; // internal#ifndef QT_NO_IMAGE_TEXTclass Q_EXPORT QImageTextKeyLang {public:    QImageTextKeyLang(const char* k, const char* l) : key(k), lang(l) { }    QImageTextKeyLang() { }    QCString key;    QCString lang;    bool operator&lt; (const QImageTextKeyLang&amp; other) const	{ return key &lt; other.key || key==other.key &amp;&amp; lang &lt; other.lang; }    bool operator== (const QImageTextKeyLang&amp; other) const	{ return key==other.key &amp;&amp; lang==other.lang; }};#endif //QT_NO_IMAGE_TEXTclass Q_EXPORT QImage{public:    enum Endian { IgnoreEndian, BigEndian, LittleEndian };    QImage();    QImage( int width, int height, int depth, int numColors=0,	    Endian bitOrder=IgnoreEndian );    QImage( const QSize&amp;, int depth, int numColors=0,	    Endian bitOrder=IgnoreEndian );#ifndef QT_NO_IMAGEIO    QImage( const QString &amp;fileName, const char* format=0 );    QImage( const char * const xpm[] );    QImage( const QByteArray &amp;data );#endif    QImage( uchar* data, int w, int h, int depth,		QRgb* colortable, int numColors,		Endian bitOrder );#ifdef Q_WS_QWS    QImage( uchar* data, int w, int h, int depth, int pbl,		QRgb* colortable, int numColors,		Endian bitOrder );#endif    QImage( const QImage &amp; );   ~QImage();    QImage     &amp;operator=( const QImage &amp; );    QImage     &amp;operator=( const QPixmap &amp; );    bool	operator==( const QImage &amp; ) const;    bool	operator!=( const QImage &amp; ) const;    void	detach();    QImage	copy()		const;    QImage	copy(int x, int y, int w, int h, int conversion_flags=0) const;    QImage	copy(const QRect&amp;)	const;    bool	isNull()	const	{ return data-&gt;bits == 0; }    int		width()		const	{ return data-&gt;w; }    int		height()	const	{ return data-&gt;h; }    QSize	size()		const	{ return QSize(data-&gt;w,data-&gt;h); }    QRect	rect()		const	{ return QRect(0,0,data-&gt;w,data-&gt;h); }    int		depth()		const	{ return data-&gt;d; }    int		numColors()	const	{ return data-&gt;ncols; }    Endian	bitOrder()	const	{ return (Endian) data-&gt;bitordr; }    QRgb	color( int i )	const;    void	setColor( int i, QRgb c );    void	setNumColors( int );    bool	hasAlphaBuffer() const;    void	setAlphaBuffer( bool );    bool	allGray() const;    bool        isGrayscale() const;    uchar      *bits()		const;    uchar      *scanLine( int ) const;    uchar     **jumpTable()	const;    QRgb       *colorTable()	const;    int		numBytes()	const;    int		bytesPerLine()	const;#ifdef Q_WS_QWS    QGfx * graphicsContext();#endif    bool	create( int width, int height, int depth, int numColors=0,			Endian bitOrder=IgnoreEndian );    bool	create( const QSize&amp;, int depth, int numColors=0,			Endian bitOrder=IgnoreEndian );    void	reset();    void	fill( uint pixel );    void	invertPixels( bool invertAlpha = TRUE );    QImage	convertDepth( int ) const;#ifndef QT_NO_IMAGE_TRUECOLOR    QImage	convertDepthWithPalette( int, QRgb* p, int pc, int cf=0 ) const;#endif    QImage	convertDepth( int, int conversion_flags ) const;    QImage	convertBitOrder( Endian ) const;    enum ScaleMode {	ScaleFree,	ScaleMin,	ScaleMax    };#ifndef QT_NO_IMAGE_SMOOTHSCALE    QImage smoothScale( int w, int h, ScaleMode mode=ScaleFree ) const;    QImage smoothScale( const QSize&amp; s, ScaleMode mode=ScaleFree ) const;#endif#ifndef QT_NO_IMAGE_TRANSFORMATION    QImage scale( int w, int h, ScaleMode mode=ScaleFree ) const;    QImage scale( const QSize&amp; s, ScaleMode mode=ScaleFree ) const;    QImage scaleWidth( int w ) const;    QImage scaleHeight( int h ) const;    QImage xForm( const QWMatrix &amp;matrix ) const;#endif#ifndef QT_NO_IMAGE_DITHER_TO_1    QImage	createAlphaMask( int conversion_flags=0 ) const;#endif#ifndef QT_NO_IMAGE_HEURISTIC_MASK    QImage	createHeuristicMask( bool clipTight=TRUE ) const;#endif#ifndef QT_NO_IMAGE_MIRROR    QImage	mirror() const;    QImage	mirror(bool horizontally, bool vertically) const;#endif    QImage	swapRGB() const;    static Endian systemBitOrder();    static Endian systemByteOrder();#ifndef QT_NO_IMAGEIO    static const char* imageFormat( const QString &amp;fileName );    static QStrList inputFormats();    static QStrList outputFormats();#ifndef QT_NO_STRINGLIST    static QStringList inputFormatList();    static QStringList outputFormatList();#endif    bool	load( const QString &amp;fileName, const char* format=0 );    bool	loadFromData( const uchar *buf, uint len,			      const char *format=0 );    bool	loadFromData( QByteArray data, const char* format=0 );    bool	save( const QString &amp;fileName, const char* format,		      int quality=-1 ) const;#endif //QT_NO_IMAGEIO    bool	valid( int x, int y ) const;    int		pixelIndex( int x, int y ) const;    QRgb	pixel( int x, int y ) const;    void	setPixel( int x, int y, uint index_or_rgb );    // Auxiliary data    int dotsPerMeterX() const;    int dotsPerMeterY() const;    void setDotsPerMeterX(int);    void setDotsPerMeterY(int);    QPoint offset() const;    void setOffset(const QPoint&amp;);#ifndef QT_NO_IMAGE_TEXT    QValueList&lt;QImageTextKeyLang&gt; textList() const;    QStringList textLanguages() const;    QStringList textKeys() const;    QString text(const char* key, const char* lang=0) const;    QString text(const QImageTextKeyLang&amp;) const;    void setText(const char* key, const char* lang, const QString&amp;);#endifprivate:    void	init();    void	reinit();    void	freeBits();    static void	warningIndexRange( const char *, int );    QSize	scaleSize( const QSize &amp;s, ScaleMode mode ) const;    struct QImageData : public QShared {	// internal image data	int	w;				// image width	int	h;				// image height	int	d;				// image depth	int	ncols;				// number of colors	int	nbytes;				// number of bytes data	int	bitordr;			// bit order (1 bit depth)	QRgb   *ctbl;				// color table	uchar **bits;				// image data	bool	alpha;				// alpha buffer	int	dpmx;				// dots per meter X (or 0)	int	dpmy;				// dots per meter Y (or 0)	QPoint	offset;				// offset in pixels#ifndef QT_NO_IMAGE_TEXT	QImageDataMisc* misc;			// less common stuff#endif	bool    ctbl_mine;			// this allocated ctbl    } *data;#ifndef QT_NO_IMAGE_TEXT    QImageDataMisc&amp; misc() const;#endif    friend Q_EXPORT void bitBlt( QImage* dst, int dx, int dy,				 const QImage* src, int sx, int sy,				 int sw, int sh, int conversion_flags );};// QImage stream functions#if !defined(QT_NO_DATASTREAM) &amp;&amp; !defined(QT_NO_IMAGEIO)Q_EXPORT QDataStream &amp;operator&lt;&lt;( QDataStream &amp;, const QImage &amp; );Q_EXPORT QDataStream &amp;operator&gt;&gt;( QDataStream &amp;, QImage &amp; );#endif#ifndef QT_NO_IMAGEIOclass QIODevice;typedef void (*image_io_handler)( QImageIO * ); // image IO handlerstruct QImageIOData;class Q_EXPORT QImageIO{public:    QImageIO();    QImageIO( QIODevice	 *ioDevice, const char *format );    QImageIO( const QString &amp;fileName, const char* format );   ~QImageIO();    const QImage &amp;image()	const	{ return im; }    int		status()	const	{ return iostat; }    const char *format()	const	{ return frmt; }    QIODevice  *ioDevice()	const	{ return iodev; }    QString	fileName()	const	{ return fname; }    int		quality()	const;    QString	description()	const	{ return descr; }    const char *parameters()	const;    float gamma() const;    void	setImage( const QImage &amp; );    void	setStatus( int );    void	setFormat( const char * );    void	setIODevice( QIODevice * );    void	setFileName( const QString &amp; );    void	setQuality( int );    void	setDescription( const QString &amp; );    void	setParameters( const char * );    void	setGamma( float );	    bool	read();    bool	write();    static const char* imageFormat( const QString &amp;fileName );    static const char *imageFormat( QIODevice * );    static QStrList inputFormats();    static QStrList outputFormats();    static void defineIOHandler( const char *format,				 const char *header,				 const char *flags,				 image_io_handler read_image,				 image_io_handler write_image );private:    void	init();    QImage	im;				// image    int		iostat;				// IO status    QCString	frmt;				// image format    QIODevice  *iodev;				// IO device    QString	fname;				// file name    char       *params;				// image parameters //### change to QImageIOData *d in 3.0    QString     descr;				// image description    QImageIOData *d;private:	// Disabled copy constructor and operator=#if defined(Q_DISABLE_COPY)    QImageIO( const QImageIO &amp; );    QImageIO &amp;operator=( const QImageIO &amp; );#endif};#endif //QT_NO_IMAGEIOQ_EXPORT void bitBlt( QImage* dst, int dx, int dy, const QImage* src,		      int sx=0, int sy=0, int sw=-1, int sh=-1,		      int conversion_flags=0 );/*****************************************************************************  QImage member functions *****************************************************************************/inline bool QImage::hasAlphaBuffer() const{    return data-&gt;alpha;}inline uchar *QImage::bits() const{    return data-&gt;bits ? data-&gt;bits[0] : 0;}inline uchar **QImage::jumpTable() const{    return data-&gt;bits;}inline QRgb *QImage::colorTable() const{    return data-&gt;ctbl;}inline int QImage::numBytes() const{    return data-&gt;nbytes;}inline int QImage::bytesPerLine() const{    return data-&gt;h ? data-&gt;nbytes/data-&gt;h : 0;}inline QImage QImage::copy(const QRect&amp; r) const{    return copy(r.x(), r.y(), r.width(), r.height());}inline QRgb QImage::color( int i ) const{#if defined(QT_CHECK_RANGE)    if ( i &gt;= data-&gt;ncols )	warningIndexRange( "color", i );#endif    return data-&gt;ctbl ? data-&gt;ctbl[i] : (QRgb)-1;}inline void QImage::setColor( int i, QRgb c ){#if defined(QT_CHECK_RANGE)    if ( i &gt;= data-&gt;ncols )	warningIndexRange( "setColor", i );#endif    if ( data-&gt;ctbl )	data-&gt;ctbl[i] = c;}inline uchar *QImage::scanLine( int i ) const{#if defined(QT_CHECK_RANGE)    if ( i &gt;= data-&gt;h )	warningIndexRange( "scanLine", i );#endif    return data-&gt;bits ? data-&gt;bits[i] : 0;}inline int QImage::dotsPerMeterX() const{    return data-&gt;dpmx;}inline int QImage::dotsPerMeterY() const{    return data-&gt;dpmy;}inline QPoint QImage::offset() const{    return data-&gt;offset;}#endif // QIMAGE_H</pre><!-- eof --><p><address><hr><div align=center><table width=100% cellspacing=0 border=0><tr><td>Copyright &copy; 2002 <a href="http://www.trolltech.com">Trolltech</a><td><a href="http://www.trolltech.com/trademarks.html">Trademarks</a><td align=right><div align=right>Qt version 3.0.5</div></table></div></address></body></html>

⌨️ 快捷键说明

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