mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-02-07 15:03:34 +00:00
printimage: keep aspect ratio with -w
xor -h
(#468)
This commit is contained in:
parent
182d7720cf
commit
a9145e7f1e
1 changed files with 8 additions and 2 deletions
|
@ -169,7 +169,7 @@ static void GetOpts(int *argc, char *argv[]) {
|
||||||
PrintUsage(EX_USAGE, stderr);
|
PrintUsage(EX_USAGE, stderr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!g_flags.full && (!g_flags.width || !g_flags.width)) {
|
if (!g_flags.full && (!g_flags.width && !g_flags.height)) {
|
||||||
ws.ws_col = 80;
|
ws.ws_col = 80;
|
||||||
ws.ws_row = 24;
|
ws.ws_row = 24;
|
||||||
if (ioctl(STDIN_FILENO, TIOCGWINSZ, &ws) != -1 ||
|
if (ioctl(STDIN_FILENO, TIOCGWINSZ, &ws) != -1 ||
|
||||||
|
@ -385,11 +385,17 @@ void WithImageFile(const char *path,
|
||||||
data, 0, yn, 0, xn);
|
data, 0, yn, 0, xn);
|
||||||
cn = 3;
|
cn = 3;
|
||||||
}
|
}
|
||||||
if (g_flags.height && g_flags.width) {
|
if (g_flags.height || g_flags.width) {
|
||||||
syn = yn;
|
syn = yn;
|
||||||
sxn = xn;
|
sxn = xn;
|
||||||
dyn = g_flags.height;
|
dyn = g_flags.height;
|
||||||
dxn = g_flags.width;
|
dxn = g_flags.width;
|
||||||
|
if (dyn && !dxn) {
|
||||||
|
dxn = dyn * xn * (1 + !g_flags.half) / yn;
|
||||||
|
}
|
||||||
|
if (dxn && !dyn) {
|
||||||
|
dyn = dxn * yn / (xn * (1 + !g_flags.half));
|
||||||
|
}
|
||||||
if (g_flags.magikarp) {
|
if (g_flags.magikarp) {
|
||||||
while (HALF(syn) > dyn || HALF(sxn) > dxn) {
|
while (HALF(syn) > dyn || HALF(sxn) > dxn) {
|
||||||
if (HALF(sxn) > dxn) {
|
if (HALF(sxn) > dxn) {
|
||||||
|
|
Loading…
Reference in a new issue