fix
1、基于新框架实现点击显示光谱; 2、影像拉伸显示优化; 3、右键菜单新增:移除所有栅格图层;
This commit is contained in:
@ -36,6 +36,40 @@ bool RasterLayer::openDataProvider()
|
||||
return ok;
|
||||
}
|
||||
|
||||
bool RasterLayer::isValidPixel(int x, int y)
|
||||
{
|
||||
if (!m_provider) {
|
||||
if (!openDataProvider()) return false;
|
||||
}
|
||||
return m_provider->isValidPixel(x, y);
|
||||
}
|
||||
|
||||
bool RasterLayer::readPixelSpectrum(int x, int y, QVector<double>& wavelengths, QVector<double>& spectrum)
|
||||
{
|
||||
if (!m_provider) {
|
||||
if (!openDataProvider()) return false;
|
||||
}
|
||||
|
||||
std::vector<double> wl;
|
||||
std::vector<double> sp;
|
||||
|
||||
if (!m_provider->readPixelSpectrum(x, y, sp)) return false;
|
||||
|
||||
wl = m_provider->bandWavelengths();
|
||||
|
||||
wavelengths = QVector<double>::fromStdVector(wl);
|
||||
spectrum = QVector<double>::fromStdVector(sp);
|
||||
|
||||
if (wavelengths.size() != spectrum.size()) {
|
||||
wavelengths.resize(spectrum.size());
|
||||
for (int i = 0; i < wavelengths.size(); ++i) {
|
||||
wavelengths[i] = i;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
QImage RasterLayer::render(const RenderParams& params)
|
||||
{
|
||||
if (!m_provider) {
|
||||
|
||||
Reference in New Issue
Block a user