diff --git a/src/common/QskRgbValue.cpp b/src/common/QskRgbValue.cpp index 1431ddd1..9a091b7a 100644 --- a/src/common/QskRgbValue.cpp +++ b/src/common/QskRgbValue.cpp @@ -244,7 +244,8 @@ QImage QskRgb::colorTable( int size, const QskGradientStops& stops ) const auto n = index2 - index1; - for ( int j = 0; j < n; j++ ) + values[ index1 ] = ARGB2RGBA( rgb1 ); + for ( int j = 1; j < n; j++ ) { const auto rgb = QskRgb::interpolated( rgb1, rgb2, qreal( j ) / ( n - 1 ) ); values[ index1 + j] = ARGB2RGBA( rgb ); diff --git a/src/nodes/QskColorRamp.cpp b/src/nodes/QskColorRamp.cpp index c8021b06..9e6ba805 100644 --- a/src/nodes/QskColorRamp.cpp +++ b/src/nodes/QskColorRamp.cpp @@ -26,7 +26,8 @@ namespace from the internet ), */ - setImage( QskRgb::colorTable( 256, stops ) ); + const int size = qBound( 256, 2 * stops.count(), 1024 ); + setImage( QskRgb::colorTable( size, stops ) ); const auto wrapMode = this->wrapMode( spreadMode );