Browse Source

DumbImageTool: Improved rasterization of the imported image, fix canvas to TTkString exporter

pull/253/head
Eugenio Parodi 2 years ago
parent
commit
189fc5420b
  1. 4
      TermTk/TTkCore/canvas.py
  2. 10
      tools/dumb_paint_lib/importimage.py

4
TermTk/TTkCore/canvas.py

@ -675,7 +675,7 @@ class TTkCanvas:
ret = ""
lastcolor = TTkColor.RST
for y in range(0, self._height):
ansi = str(TTkColor.RST)
ansi = str(lastcolor)
for x in range(0, self._width):
ch = self._data[y][x]
color = self._colors[y][x]
@ -690,7 +690,7 @@ class TTkCanvas:
# TTkLog.debug("pushToTerminal")
lastcolor = TTkColor.RST
for y in range(0, self._height):
ansi = TTkColor.RST+TTkTerm.Cursor.moveTo(y+1,1)
ansi = lastcolor+TTkTerm.Cursor.moveTo(y+1,1)
for x in range(0, self._width):
ch = self._data[y][x]
color = self._colors[y][x]

10
tools/dumb_paint_lib/importimage.py

@ -135,6 +135,9 @@ class TTkImageNew(ttk.TTkWidget):
color = ttk.TTkColor.fg(f'#{cr:02X}{cg:02X}{cb:02X}')
return ttk.TTkString(ttk.TTkImage._quadMap[ch],color)
if a[:3]==b[:3]==c[:3]==d[:3]:
color = ttk.TTkColor.bg(f'#{a[0]:02X}{a[1]:02X}{a[2]:02X}')
return ttk.TTkString(' ',color)
def delta(i):
return max(v[i] for v in l) - min(v[i] for v in l)
@ -205,6 +208,10 @@ class TTkImageNew(ttk.TTkWidget):
color = ttk.TTkColor.fg(f'#{cr:02X}{cg:02X}{cb:02X}')
return ttk.TTkString(ttk.TTkImage._sexMap[ch],color)
if a[:3]==b[:3]==c[:3]==d[:3]==e[:3]==f[:3]:
color = ttk.TTkColor.bg(f'#{a[0]:02X}{a[1]:02X}{a[2]:02X}')
return ttk.TTkString(' ',color)
def delta(i):
return max(v[i] for v in l) - min(v[i] for v in l)
deltaR = delta(0)
@ -288,6 +295,9 @@ class TTkImageNew(ttk.TTkWidget):
elif c1[3]<threshold:
color = ttk.TTkColor.fg(f'#{c2[0]:02X}{c2[1]:02X}{c2[2]:02X}')
canvas.drawChar(pos=(x,y//2), char='', color=color)
elif c1[:3]==c2[:3]:
color = ttk.TTkColor.bg(f'#{c1[0]:02X}{c1[1]:02X}{c1[2]:02X}')
canvas.drawChar(pos=(x,y//2), char=' ', color=color)
else:
color = ( ttk.TTkColor.fg(f'#{c1[0]:02X}{c1[1]:02X}{c1[2]:02X}') +
ttk.TTkColor.bg(f'#{c2[0]:02X}{c2[1]:02X}{c2[2]:02X}') )

Loading…
Cancel
Save