PTT推薦

[ANSI] ANSI繪圖軟體 AAC 1.8.1

看板C_Chat標題[ANSI] ANSI繪圖軟體 AAC 1.8.1作者
poewar
(☺☻)
時間推噓16 推:16 噓:0 →:1

趁半夜沒人來發個更新文
之前累積的許多修正跟調整放太久都沒上
這次順便更新上去

最主要是效能優化跟新增功能

***

本軟體用於繪製ANSI圖

介紹頁面:
https://aac.iverv.com/

MicrosoftStore頁面:
https://www.microsoft.com/store/apps/9N3FQG7SDVW4

ms-windows-store://pdp/?productid=9N3FQG7SDVW4

相關的介紹請看之前的說明介紹以及進度更新文章

***

文字重新整理

- 新增功能:網格格線自訂顏色
- 新增功能:補充完整16色的ansi碼,偏好設定新增啟用選項
- 新增功能:新增閃爍符號的提示Mask
- 新增功能:繪製圖層的顯示前景/背景 的切換也製作出來
- 系統調整:繪製工具架構重新修改,效能優化
- 系統調整:ansi碼輸出優化
- 系統調整:修改跳出視窗base結構,新增deactive的處理
- 功能調整:符號大小提示線重新調整
- 功能調整:文字輸入一個字一個動作改為按鍵放開後才算一個動作
- 功能調整:圖章工具改為滑鼠右鍵的方式插入繪製
- 功能調整:選擇框工具圈選範圍後按 BackSpace/Delete 清除區塊的功能補上
- 功能調整:顏色替換的視窗多一個選擇替換目標的選項
- 介面調整:隱藏空白的黃色提示選擇座標的文字框線
- 介面調整:圖章工具透明背景的狀況下,滑鼠的顯示圖的背景,改為半透明格子圖
- 介面調整:pmore拆圖工具,開啟後在空白處點滑鼠右鍵跳出未初始化的context menu
- 介面調整:繪製重播的介面,顯示文字被裁切的問題
- 介面調整:圖層介面區塊,打開參數設定的按鈕,介面調整
- 錯誤修正:閃爍的ansi碼,存讀檔以及輸出時ansi的錯誤
- 錯誤修正:修正筆刷記錄檔新建的db沒有初始化造成錯誤無法存檔的問題
- 錯誤修正:主繪製畫面的設定調整 透明度/切換顯示 閃爍符號的部分不會受到影響
- 錯誤修正:修正選色器RGB picker的Hue 第一次點會回跳頂端,第二次之後點就沒問題- 錯誤修正:修正選色器RGB初始顯示為黑白漸層,點選Hue顏色後才會脫離黑白漸層
- 錯誤修正:修正半個全形符號,在複製貼上產生筆刷紀錄出錯的問題
- 錯誤修正:匯入.ans檔案後未設定初始layer index造成繪製crash的問題


***


新增功能:
網格格線變更顏色的功能

圖例:
https://i.imgur.com/6Xz00Yt.png

圖 ANSI繪圖軟體 AAC 1.8.1

點選網格層的顏色方塊,就會跳出選色器
選擇顏色後確認可變更網格格線的顏色

因應這個功能的需求
所以還先製作了獨立的跳出式選色器工具

這張參考圖其中的紅色線是導線(測試,尚未實作)
未來可能會新增相關參數,例如切換顯示、每幾個單位出現等

至於實體背景色層的部分,還再思考是否要跟輸出有關
所以目前還未實作調整這邊的功能



新增功能:
基於ansi escape code的資料以及xterm的文件
把完整16色的ansi碼補充進來
基本上就是把 前景亮色90~97 / 背景亮色100~107
這個範圍的新增進來

圖例:
https://i.imgur.com/uFn0Cdq.png

圖 ANSI繪圖軟體 AAC 1.8.1

此範圍的碼依據xterm的文件說明,vt100沒有支援
PTT也無法顯示
不過一些新的終端是可以顯示的

圖例:
https://i.imgur.com/SiYYY9l.png

圖 ANSI繪圖軟體 AAC 1.8.1

雖然PTT無法使用,還是把這部分的邏輯實做
而這邊的90~97,100~107跟 256色的碼是不同的意義

舉例來說 暗黃色前景+亮黃色背景 的16色碼
*[33;103m

但如果是256色則會是
*[38;5;3;48;5;11m


同時在偏好設定新增選項可啟用
啟用後16色選色器也會顯示該顏色組,關閉則隱藏
預設是關閉的

圖例:
https://i.imgur.com/DkqEDSW.png

圖 ANSI繪圖軟體 AAC 1.8.1



新增功能:
新增閃爍符號的提示Mask

主要就是閃爍有時把顯示打開也不太好發現,如果前景只有一個點的話
所以加一個可切換顯示的提示遮罩

圖例:
https://i.imgur.com/78Jarcb.png

圖 ANSI繪圖軟體 AAC 1.8.1

主要就是當勾選後,會把有設定閃爍的區塊
使用半透明格子來標記



新增功能:
繪製圖層的顯示前景/背景 的切換也製作出來

隱藏前景
圖例:
https://i.imgur.com/6adKb9E.png

圖 ANSI繪圖軟體 AAC 1.8.1

隱藏背景
圖例:
https://i.imgur.com/uWL3Ggm.png
圖 ANSI繪圖軟體 AAC 1.8.1

當然如果把符號繪製一個圖層,背景繪製另一個圖層
然後分別切換,也可以達到相同的效果

不過這個功能只是方便察看
只會影響繪圖的顯示而已,對於實際的輸出不會造成影響

也就是這邊如果取消繪製前景or取消繪製背景
這個狀態下複製ansi資料,資料還是完整的有前景跟背景資料

但是圖層那邊如果取消,複製ansi的時候該圖層的資料就不會出現了



系統調整:
繪製工具效能優化

修改前
https://youtu.be/lR-BomBBEPI

每次筆刷下去一格,就會進行符號資料疊合
該行的疊合、整個畫面繪製的更新
因此當畫面越複雜、圖層越多的時候
繪製的延遲就會越嚴重

修改後
https://youtu.be/vKlzNflKhRM

整體明顯提升
改用一暫時繪製層來先繪製將進行變動的資料
此時資料都還未寫入筆刷繪製的圖層



系統調整:
ansi碼輸出優化,亮色錯誤修正後
當兩個符號都相同背景跟前景色
前面的符號是暗色,例如37;40m
後面的符號是亮色的,例如1;37;40m

原本的輸出會是: *[37;40mA*[1;37mB*[m
調整後輸出為: *[37;40mA*[1mB*[m



系統調整:
修改base結構,新增deactive的處理
讓一些較不重要的跳出視窗,再點選視窗範圍外的時候如同關閉視窗
例如上方的單次選色、以及偏好設定新增自型跳出挑選自型的視窗
之後再評估看看有哪些也適合套用此設定
減少點到畫面外系統會發出咚咚聲



功能調整:
符號大小提示線之前是只會顯示滑鼠指標當前的符號
這在選擇框工具的時候,只會顯示最後的一個符號大小

圖例:
https://i.imgur.com/Ph7ptqv.png

圖 ANSI繪圖軟體 AAC 1.8.1

改為左右邊界有受影響的符號都會顯示大小的提示線

圖例:
https://i.imgur.com/M85CdwJ.png

圖 ANSI繪圖軟體 AAC 1.8.1

https://i.imgur.com/y6m3KkU.png
圖 ANSI繪圖軟體 AAC 1.8.1

原本圖章若是全形符號,只有左半邊蓋到的符號會有範圍提示
右半邊不會有,目前是正確可以左右邊蓋到的符號都有提示



功能調整:
文字輸入的邏輯也有調整
原本按著一個輸入按鍵不放(例如:A)
會一直連續輸入,而每一個文字輸入都會有一筆UndoRedo

圖例:
https://i.imgur.com/ZQwnPQf.png

圖 ANSI繪圖軟體 AAC 1.8.1

這在恢復上一步動作會有些不方便
現在改為放開按鍵後才會送出紀錄

圖例:
https://i.imgur.com/LiOoSKG.png

圖 ANSI繪圖軟體 AAC 1.8.1

這邊a跟backspace都是按著不放
ctrl+z只要兩次即可恢復原狀



功能調整:
圖章工具原本的操作方式為
滑鼠左鍵取代的方式繪製符號
Ctrl+滑鼠左鍵用插入的方式繪製

改為
滑鼠左鍵取代的方式繪製符號(不變動)
滑鼠右鍵用插入的方式繪製,按一下插入符號一次



功能調整:
選擇框工具下
圈選範圍後按 BackSpace/Delete 原本是沒有作用的
新的工具結構也把清除區塊的功能補上



功能調整:
顏色替換的視窗多一個選擇替換目標的選項
https://i.imgur.com/xxkJys8.png

圖 ANSI繪圖軟體 AAC 1.8.1

上方 Menu->圖層->顏色替換 (或是快捷 Ctrl+Shift+F)
如果當前是圈選工具,則會預設帶 [選擇範圍] ,其餘則預設帶 [圖層]
當然帶入後也還是可以切換,只是沒有選擇範圍的使用這個選項,換下去會沒有動作

功能就是替換選擇的範圍或是全圖層



介面調整:
隱藏空白的黃色提示框線
原本建立新檔的時候,左上會出現空白的黃色框線
改為隱藏起來,有文字的時候才顯示

圖例:
https://i.imgur.com/A73TO9T.png

圖 ANSI繪圖軟體 AAC 1.8.1



介面調整:
圖章工具使用透明背景的狀況下
在滑鼠的顯示圖的背景,改為半透明格子圖

圖例:
https://i.imgur.com/a6sh1lj.png

圖 ANSI繪圖軟體 AAC 1.8.1

因原本是透明的,所以當使用透明背景的狀況下
而前景符號的顏色又跟繪製區塊的顏色相同時,會看不到是什麼圖案
改用半透明格子圖代替後
可以在不完全遮蔽背後圖案下,又可以讓圖章符號更容易辨識

圖例:
https://i.imgur.com/FurUs45.png

圖 ANSI繪圖軟體 AAC 1.8.1



介面調整:
pmore拆圖工具的介面,剛開啟後在空白列表處點滑鼠右鍵
會跳出未初始化的context menu

圖例:
https://i.imgur.com/6rXbw96.png

圖 ANSI繪圖軟體 AAC 1.8.1

修正此部分介面的問題



介面調整:
繪製重播的介面,顯示文字被裁切的問題

圖例:
https://i.imgur.com/5FNEvN0.png

圖 ANSI繪圖軟體 AAC 1.8.1

此部分的介面重改,讓使用者可自行調整大小



介面調整:
圖層介面區塊,打開參數設定的按鈕,介面調整

圖例:
https://i.imgur.com/vN1NppE.png

圖 ANSI繪圖軟體 AAC 1.8.1

把style整理至共用resource,打開的顏色改為紅色



錯誤修正:
閃爍的ansi碼,在存讀檔以及輸出ansi的錯誤

例如都是高亮、相同前景背景色的兩個符號
前方設定閃爍後方沒有,ansi輸出或存檔會是兩個都閃爍
事實是後方所有符號都有可能變閃爍



錯誤修正:
修正之前版友所回報筆刷記錄檔錯誤的問題
因為新建的db沒有初始化相關的資料而造成錯誤



錯誤修正:
當符號設定閃爍,並且讓閃爍顯示下
主繪製畫面的設定調整 透明度/切換顯示
閃爍的部分卻不會受到影響

修正後,閃爍層的透明度跟顯示也可跟主繪製同步



錯誤修正:
選色器RGB picker的Hue
第一次點會回跳頂端的問題,第二次之後點就沒問題
原因為非RGB的黑白色筆刷,第一次切換成RGB的黑白色筆刷
觸發介面重新更新所造成的狀況



錯誤修正:
修正選色器RGB初始為黑白漸層,點選Hue顏色後才會脫離黑白漸層
因初始value為NaN造成的問題



錯誤修正:
在開啟錄製的狀態下
水平繪製幾個全形符號,使用圈選工具選擇後ctrl+c複製
接著往左一格半形再ctrl+v貼上,會造成crash
修正複製貼上產生筆刷紀錄出錯的邏輯



錯誤修正:
匯入.ans檔案後,初始layer index未設定
造成一繪製就crash的錯誤


--
◤ANSI繪圖軟體 ◤ ANSI Art Creator https://aac.iverv.com

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.5.88 (臺灣)
PTT 網址

smallreader07/02 02:09ANSI大文藝復興!李奧納多‧poewar!!

Shigeru77707/02 02:10先推再睡 太強大了!

Mikufans07/02 02:11

shlee07/02 02:14文藝復興!

CaterpillarK07/02 02:51推 大佬

silveryiris07/02 03:01先推再說

inte629l07/02 07:14

mkcg582507/02 07:21

gsp400607/02 07:28

spfy07/02 07:41原來還有人繼續開發ANSI繪圖工具 給尊重

lolicon07/02 09:29文藝復興

greg9032607/02 09:59

SaberTheBest07/02 11:05推一個

yam27607/02 11:13:O

rick91707/02 13:59

kirimaru7307/02 17:03

showwhat207/02 17:34推、推,有時間得摸索一下,這套工具真的很強大。