2、LayerTreeLayerNode持有MapLayer图层引用,为右键菜单做准备; 3、改名:imageviewer → mapcavas,mapcavas持有MapLayer图层引用,为刷新图像做准备;
30 lines
697 B
C++
30 lines
697 B
C++
#pragma once
|
|
|
|
#include <QImage>
|
|
#include <vector>
|
|
|
|
class RasterDataProvider;
|
|
|
|
class RasterRenderer
|
|
{
|
|
public:
|
|
struct Params {
|
|
double rWave = 665.0;
|
|
double gWave = 560.0;
|
|
double bWave = 490.0;
|
|
double minValue = 0.0;
|
|
double maxValue = 255.0;
|
|
};
|
|
|
|
explicit RasterRenderer(RasterDataProvider* provider);
|
|
|
|
// Render to an 8-bit RGB image. Returns empty image on failure.
|
|
QImage render(const Params& params);
|
|
|
|
private:
|
|
RasterDataProvider* m_provider;
|
|
|
|
// helper to map float buffer to 8-bit with min/max stretch
|
|
static void stretchTo8bit(const std::vector<float>& in, std::vector<unsigned char>& out, float minVal, float maxVal);
|
|
};
|