Здравствуйте Андрей
Код приведенный ниже должен вернуть в скрипт изображение содержащее красную линию на сером фоне.
Однако получается красная линия на чёрном фоне. Если закоментировать img.paint(&painter) то получается изображение с серым фоном (без красной линии естественно). Когда начинает работать painter фон закрашивается чёрным
Вопрос — как залить всё изображение нужным цветом не прибегая к gfx.rectangle(0, 0, width, height)?
img.clear(sciter::gcolor(127, 127, 127)) у меня не заработал (смотри предыдущее сообщение)
class IMGPainter : public sciter::painter {
public:
void paint(sciter::graphics& gfx, UINT width, UINT height)
{
gfx.line_width(1);
gfx.line_color(sciter::gcolor(255, 0, 0));
gfx.line(0, 0, width, height);
}
};
sciter::value nativeImage(const UINT width, const UINT height)
{
BYTE *b = new BYTE[width * height * 4];
memset(b, 127, width * height * 4);
sciter::image img;
img = sciter::image::create(width, height, false, b);
IMGPainter painter;
img.paint(&painter);
return img.to_value();
}
tiscript:
var imageChart = view.nativeImage(width, height);
gfx.drawImage(imageChart, 0.0, 0.0);
и ещё один вопрос: есть в нативном коде аналог скриптового image.destroy()?