Successful label printing
This commit is contained in:
@@ -73,11 +73,13 @@ std::optional<std::vector<T>> Bitmap<T>::getCol(uint16_t col) {
|
||||
|
||||
// first pixel is always beginning of the col
|
||||
std::vector<T> colPixels(mHeight);
|
||||
auto it = mPixels.begin() + col;
|
||||
auto it = std::next(mPixels.begin(), col);
|
||||
|
||||
for (auto& colElement : colPixels) {
|
||||
int offset = std::distance(mPixels.begin(), it);
|
||||
//spdlog::debug("Distance {}: {}", offset, *it);
|
||||
colElement = *it;
|
||||
it += mWidth;
|
||||
std::advance(it, mWidth);
|
||||
}
|
||||
|
||||
return colPixels;
|
||||
|
@@ -19,29 +19,34 @@
|
||||
|
||||
#include "Image.hpp"
|
||||
|
||||
#include <string>
|
||||
|
||||
#include "pango/pango-font.h"
|
||||
|
||||
namespace ptprnt::graphics {
|
||||
Image::Image() {
|
||||
mSurface = cairo_image_surface_create(CAIRO_FORMAT_A1, 512, 128);
|
||||
mSurface = cairo_image_surface_create(CAIRO_FORMAT_A8, 512, 128);
|
||||
cairo_t* cr = cairo_create(mSurface);
|
||||
mFontDescription = pango_font_description_new();
|
||||
pango_font_description_set_family(mFontDescription, "sans");
|
||||
pango_font_description_set_weight(mFontDescription, PANGO_WEIGHT_SEMIBOLD);
|
||||
pango_font_description_set_size(mFontDescription, 60 * PANGO_SCALE);
|
||||
|
||||
std::string printThis("Mist 💩");
|
||||
|
||||
mLayout = pango_cairo_create_layout(cr);
|
||||
pango_layout_set_font_description(mLayout, mFontDescription);
|
||||
pango_layout_set_text(mLayout, "Hello, world", -1);
|
||||
pango_layout_set_text(mLayout, printThis.c_str(), -1);
|
||||
|
||||
cairo_set_source_rgb(cr, 0.0, 0.0, 0.0);
|
||||
cairo_move_to(cr, 10.0, 94.0);
|
||||
cairo_move_to(cr, 0.0, 94.0);
|
||||
pango_cairo_show_layout_line(cr, pango_layout_get_line(mLayout, 0));
|
||||
|
||||
//cairo_surface_write_to_png(mSurface, "hello.png");
|
||||
cairo_surface_write_to_png(mSurface, "hello.png");
|
||||
}
|
||||
|
||||
uint8_t* Image::getRaw() {
|
||||
cairo_surface_flush(mSurface);
|
||||
return cairo_image_surface_get_data(mSurface);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user