18 #ifndef QGSCUBICRASTERRESAMPLER_H 19 #define QGSCUBICRASTERRESAMPLER_H 37 static void xDerivativeMatrix(
int nCols,
int nRows,
double* matrix,
const int* colorMatrix );
38 static void yDerivativeMatrix(
int nCols,
int nRows,
double* matrix,
const int* colorMatrix );
40 void calculateControlPoints(
int nCols,
int nRows,
int currentRow,
int currentCol,
int* redMatrix,
int* greenMatrix,
int* blueMatrix,
41 int* alphaMatrix,
double* xDerivativeMatrixRed,
double* xDerivativeMatrixGreen,
double* xDerivativeMatrixBlue,
42 double* xDerivativeMatrixAlpha,
double* yDerivativeMatrixRed,
double* yDerivativeMatrixGreen,
double* yDerivativeMatrixBlue,
43 double* yDerivativeMatrixAlpha );
46 QRgb curveInterpolation( QRgb pt1, QRgb pt2,
double t,
double d1red,
double d1green,
double d1blue,
double d1alpha,
double d2red,
double d2green,
47 double d2blue,
double d2alpha );
49 static inline double calcBernsteinPolyN3(
int i,
double t );
50 static inline int lowerN3(
int i );
53 static inline QRgb createPremultipliedColor(
const int r,
const int g,
const int b,
const int a );
129 #endif // QGSCUBICRASTERRESAMPLER_H
Interface for resampling rasters (e.g.
virtual void resample(const QImage &srcImage, QImage &dstImage)=0
virtual QgsRasterResampler * clone() const =0
QString type() const override