logoDimensions function
Ins Kaestchen der Stufe eingepasst, nie hochgerechnet (1 Bildpixel hoechstens 1 Druckpunkt).
Implementation
LogoDimensions logoDimensions(SheetLogo logo, int chars) {
if (logo.pixelWidth <= 0 || logo.pixelHeight <= 0) {
throw ArgumentError('Logo ohne Pixelmass');
}
final blattPunkte = chars * dotsPerChar;
final faktor = math.min(
math.min((logo.size.widthFraction * blattPunkte) / logo.pixelWidth, (logo.size.heightLines * dotsPerLine) / logo.pixelHeight),
1.0,
);
return LogoDimensions(
widthFraction: (logo.pixelWidth * faktor) / blattPunkte,
heightLines: (logo.pixelHeight * faktor) / dotsPerLine,
);
}