code: выбор размера шрифта svg

master
Грудинин Егор 1 год назад
Родитель b883ab03d8
Сommit 6e021a4b71

@ -14,8 +14,8 @@ const auto BLOCK_WIDTH = 10;
const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH;
void
svg_text(double left, double baseline, string text) {
cout << "<text x='" << left << "' y='" << baseline << "'>" << text << "</text>";
svg_text(double left, double baseline, int font_size, string text) {
cout << "<text x='" << left << "' y='" << baseline << "' font-size='" << font_size << "'>" << text << "</text>";
}
void
@ -40,6 +40,20 @@ svg_end() {
void
show_histogram_svg(const vector<size_t>& bins) {
int font_size = 12;
bool flag = true;
while(flag) {
cerr << "Enter font size (8-32): ";
cin >> font_size;
if (font_size < 8) {
cerr << "Font size is too small. Please enter a value between 8 and 32." << endl;
} else if (font_size > 32) {
cerr << "Font size is too large. Please enter a value between 8 and 32." << endl;
} else {
flag = false;
}
}
const auto MAX_WIDTH = IMAGE_WIDTH - TEXT_WIDTH;
size_t max_count = 0;
for (size_t x : bins) {
@ -58,10 +72,9 @@ show_histogram_svg(const vector<size_t>& bins) {
double top = 0;
for (size_t bin : bins) {
double bin_width = BLOCK_WIDTH * bin * scale_factor;
svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin));
svg_text(TEXT_LEFT, top + TEXT_BASELINE, font_size, to_string(bin));
svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT);
top += BIN_HEIGHT;
}
svg_end();
}

Загрузка…
Отмена
Сохранить