28 lines
747 B
C++
28 lines
747 B
C++
#pragma once
|
|
|
|
#include "RasterRendererBase.h"
|
|
#include "RasterRenderParams.h"
|
|
#include <vector>
|
|
|
|
class RasterDataProvider;
|
|
|
|
class SinglebandRasterRenderer : public RasterRendererBase
|
|
{
|
|
public:
|
|
explicit SinglebandRasterRenderer(RasterDataProvider* provider);
|
|
|
|
QImage render() override;
|
|
|
|
// Parameter access
|
|
SinglebandRenderParams params() const { return m_params; }
|
|
void setParams(const SinglebandRenderParams& params) { m_params = params; }
|
|
|
|
private:
|
|
SinglebandRenderParams m_params;
|
|
|
|
int nearestBandIndex(double wave) const;
|
|
|
|
// 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);
|
|
};
|