- 9front में चित्र बनाने की पूरी workflow को
paint(1)के इर्द-गिर्द व्यवस्थित किया गया है, जिसमें input device चुनने से लेकर canvas management, image manipulation और export तक सब जुड़ा है - काम 9front के अंदरूनी image(6) format में होता है;
paint(1)से ड्रॉ करने के बादpage(1),crop(1),vcrop(1),resize(1),rotate(1)से output को adjust किया जाता है paint(1)में pressure sensitivity, layers, cut/paste नहीं हैं, इसलिए user को कागज़ की तरह workspace और colours खुद manage करने पड़ते हैं- mouse, finger, pen, external tablet, drawterm/VNC input सभी को कवर किया गया है, लेकिन pen buttons mouse clicks की नकल करते हैं, इसलिए keyboard और mouse को पास रखना व्यावहारिक setup है
- बाहर share करने के लिए PNG conversion उपयुक्त है; PNG या JPG
paint(1),crop(1),vcrop(1)में सीधे edit करने योग्य नहीं हैं, इसलिए जरूरत हो तो उन्हें फिर से 9front image format में बदलना पड़ता है
9front में चित्र बनाने के लिए basic setup
- चित्र बनाने के लिए “ड्रॉ करने का tool” और “ड्रॉ करने की surface” चाहिए; 9front में असली pen input device के अलावा कई input तरीकों का इस्तेमाल किया जा सकता है
- अगर computer पर 9front चल रहा है, तो आप
How to drawfollow कर सकते हैं; और अगर screen पर सीधे ड्रॉ करने वाली device चाहिए, तो Wacom support वाला 2-in-1 laptop उपयुक्त है - जिन devices ने व्यवहार में अच्छी तरह काम किया, वे ये ThinkPad models हैं
input devices के हिसाब से विशेषताएँ
- mouse drawing पुराना तरीका है, लेकिन इसका फायदा है कि यह mouse वाले हर computer के साथ compatible है
- finger input में screen touch left mouse click की नकल करता है, लेकिन दूसरे clicks की जगह नहीं ले पाता, इसलिए mouse को पास रखना पड़ता है
- external tablet में screen वाले products 9front में शायद काम न करें, और बिना screen वाले products काम कर सकते हैं
- recommended device GAOMON S620 है, जो 9front में plug-and-play अच्छी तरह काम करता है
- Wacom CTL-672 relative-coordinate touchpad की तरह काम करता है
- Wacom CTL-490 काम नहीं करता
- संबंधित जानकारी [fqa] 3.2.4 - Tablet Digitizers में है
- केवल keyboard से ठीक से ड्रॉ करना मुश्किल है, लेकिन
paint(1)में काम के लिए keyboard जरूरी है- जिन tablet computers या विशेष environments में physical keyboard तक पहुंच मुश्किल हो, वहां
bitsy/keyboardon-screen keyboard इस्तेमाल किया जा सकता है - run example:
rio -k 'bitsy/keyboard -n'
- जिन tablet computers या विशेष environments में physical keyboard तक पहुंच मुश्किल हो, वहां
- drawterm/VNC इस्तेमाल करने पर remote या virtual 9front computer से जुड़कर और ज्यादा तरह के input devices इस्तेमाल किए जा सकते हैं
- Android phone पर finger से ड्रॉ करना, Linux और MacOS पर mouse से ड्रॉ करना, या Windows पर ऐसे input devices इस्तेमाल करना जिन्हें 9front सीधे support नहीं करता
- संबंधित site drawterm.9front.org है
image(6) format और paint(1) की assumptions
- 9front में drawing, cropping और image manipulation अंदरूनी image(6) format files पर किए जाते हैं
- चित्र बनाते समय format की बहुत चिंता करने की जरूरत नहीं, लेकिन बाहर share करने के लिए किसी दूसरे format में convert करना होगा
- file name के लिए
file.picजैसा तरीका example है, लेकिन आप कोई भी मनचाहा नाम रख सकते हैं - यह guide 9front के कई drawing programs में से केवल
paint(1)को cover करती है paint(1)को सामान्य digital drawing program की तुलना में कागज़, स्याही और रंग से चित्र बनाने के तरीके के ज्यादा करीब मानकर इस्तेमाल करना चाहिए
paint(1) की सीमाएँ और basic operations
- pen और tablet buttons mouse input की नकल करते हैं, और guide में सब कुछ mouse operation के रूप में बताया गया है
- screen के ऊपर hover करना mouse movement है
- surface को touch करना left click या press-and-hold है
- ideal pen में middle click और right click के लिए 2 buttons होते हैं
- अगर सिर्फ right-click वाला button हो, तो Shift दबाकर button दबाने से middle click की नकल की जा सकती है
paint(1)और 9front pressure sensitivity support नहीं करते- layers और cut/paste भी नहीं हैं; जो ड्रॉ किया जाता है वही result होता है
- save और open keyboard input से किए जाते हैं
w: file saver: file open या फिर से read|: current canvas को command में pipe करके convert करना< command: command के result कोpaint(1)में read कर current canvas replace करना> command: current canvas को command में देकर file में लिखना
- example operations ये हैं
| rotate -u: canvas rotate< crop -i -50 glenda.pic:glenda.picमें 50-pixel black border जोड़कर open करना> crop -i -50 | rotate -r 90 > modified_glenda.pic: current canvas में border जोड़ना, 90 degrees rotate करना और save करना
canvas pixels लगे हुए area से तय होता है
paint(1)में canvas वह rectangular area है जिसमें drawing शामिल है- start के तुरंत बाद की white window एक empty file है; पहला pixel ड्रॉ या erase करने के बाद ही canvas बनता है
paint(1)सबसे दूर रखे pixel को canvas boundary मानता है- window size canvas size तय नहीं करता
- eraser से मिटाया गया pixel भी pixel रखे जाने जैसा माना जाता है
- पहली बनाई गई
paint(1)window size को working canvas की तरह सोचकर corners पर crop marks बनाकर काम करना recommended है - अगर exact size की drawing चाहिए, तो अलग process से fixed-size canvas बनाना होगा, और काम के बाद crop calculation या margin removal करना होगा
paint(1) के मुख्य tools
- tool selection नीचे के toolbar पर left mouse click करके किया जाता है
- colour
- left click से colour select होता है
- toolbar colour पर right click करने से hexadecimal code डालकर palette बदली जा सकती है
paint(1)exit होने के बाद palette याद नहीं रखता, इसलिए हर नई window खोलने पर इसे फिर बदलना होगा- 16 से ज्यादा colours इस्तेमाल करने हों, तो कई
paint(1)windows में वही drawing file खोलकरwऔरrसे sync किया जा सकता है
- brush
0-9या left mouse से brush size चुनें और drag करके ड्रॉ करें
- fill
f,c, left mouse, middle mouse का इस्तेमाल होता है- एक ही colour से जुड़े pixel area को दूसरे colour में बदलता है
- background colour बदलने में भी इस्तेमाल होता है, और background colour वही colour बनता है जिसे eraser लगाता है
cसब कुछ हटाकर selected colour को background बनाता है और empty file state में ले जाता है
- eraser
0-9, middle mouse का इस्तेमाल होता है- current brush size जितने area में cursor के नीचे background colour लगा देता है
- straight lines और circles
- straight line के लिए ruler इस्तेमाल करें
- circle के लिए flat और round object या tracing paper पर compass से पहले से बने circle को follow करने का तरीका इस्तेमाल करें
- move, zoom, undo
- right mouse दबाकर move करने से panning होता है
-,+से zoom in/out होता है, लेकिन original zoom level से ज्यादा दूर zoom out नहीं कर सकतेEsczoom reset करता है और canvas को center में fit करता हैulast continuous segment को undo करता है; एक लंबी line भी कई undo steps में बंट सकती है
fake layers और colour-based removal
paint(1)में layers नहीं हैं, लेकिन जिस colour को असल drawing में इस्तेमाल नहीं करना है उससे sketch बनाकर उसके ऊपर lines बनाने के तरीके से fake layers बनाई जा सकती हैं- example में HotPink को sketch colour की तरह इस्तेमाल किया गया है, और completion के बाद केवल उस colour को हटाया जाता है
- manual fill या precise eraser इस्तेमाल करने में बहुत समय लग सकता है, इसलिए
picoसे किसी specific colour को background colour में replace करना उपयोगी है picoइस command से लिया जा सकता हैgit/clone https://github.com/qwx9/pico
- संबंधित explanation Image Manipulation on Plan 9 Using pico में है
- HotPink
#ff5fd7के decimal RGB values255, 95, 215हैं, औरpc(1)से convert करने का example शामिल है
page(1), crop(1), vcrop(1), resize(1), rotate(1)
page(1)document viewer है, और कई image formats, PDF, ebooks आदि दिखाने के लिए इस्तेमाल होता हैpage my_picture.picसे drawing देखी जा सकती है- image manipulation result को file में लिखने से पहले
page(1)से check करने की आदत recommended है page(1)में भीwदबाकर दिख रहे result को file में save किया जा सकता है
- अगर drawing
paint(1)window से बड़ी हो गई है, तो अलगpage picture.filewindow बनाकरfit widthयाfit heightसे preview window की तरह इस्तेमाल किया जा सकता है vcrop(1)graphical crop tool है- left mouse से panning
- middle mouse से crop tool select
- right mouse से save आदि options show
- zoom नहीं होता, इसलिए window से बड़ा area crop करना हो या pixel-level precise crop चाहिए हो, तो इसकी सीमाएँ हैं
crop(1)pixel rows/columns हटाता या जोड़ता हैcrop -x 50 mypic.pic > mypic_crop.pic: left-right से 50 pixels crop करनाcrop -i -10 -b 255 255 255 mypic.pic: 10-pixel white border जोड़ना
resize(1)drawing को बड़ा या छोटा करता है- original ratio बनाए रखने के लिए
-xया-yमें से केवल एक specify करें - example:
resize -n -y 245 mypic.pic > mypic_resized.pic
- original ratio बनाए रखने के लिए
rotate(1)image को 90-degree units में rotate कर सकता हैrotate -r 90 my.pic > rotated.my.picrotate -ul > flipped.my.pic
exact canvas size बनाना और cropping strategy
- अगर ठीक 250x250 जैसा size चाहिए, तो empty image बनाकर
resize(1)से desired size बनाएं और फिर उसेpaint(1)में open करने की process इस्तेमाल करेंw empty_canvas.picresize -n -x 250 -y 250 empty_canvas.pic > empty_canvas_250x250.piccp empty_canvas_250x250.pic mypicture.picpaint mypicture.pic
paint(1)canvas boundary से बाहर drawing रोकता नहीं है, और boundary पार करने पर drawing size expand कर देता है- तीन options हैं
- boundary पार हुई lines की चिंता न करें और काम के बाद mathematically crop करें
- काम से पहले extra equal margin जोड़ें और completion के बाद उसे remove करें
- corners पर crop marks बनाकर रखें और बाद में crop करें
crop -r a b c dimage के absolute coordinates का इस्तेमाल करके crop करता है, औरdd -bs 128 -count 1से coordinates check किए जा सकते हैं- margin method में, उदाहरण के लिए, 250x250 white canvas में 25-pixel red margin जोड़कर काम करें, फिर खत्म होने पर
crop -i 25से हटाकर exact 250x250 result पाएं
tracing और palette
- internet image लाकर 9front format में convert करने के बाद,
picoसे उसे light बनाकरpaint(1)में trace किया जा सकता है- example:
hget http://img.triapul.cz/fahwui.jpg | jpg -c9 > to.trace.pic picoमेंz == 3 ? Z : (im + Z) / 2से image को light बनाया जाता है
- example:
paint(1)में HotPink जैसे specific colour से lines trace करने के बाद,picoसे सिर्फ वही colour रखकर बाकी को white में बदला जा सकता है- palette से जुड़ा resource git.sr.ht/~amavect/makeu है
बाहर export और share करना
- 9front में बनी images असल में pixel art होती हैं, इसलिए उन्हें PNG में convert करना recommended है
- PNG हमेशा JPG से छोटा और sharp होता है, और
paint(1)में जैसा दिखता था वैसा ही दिखता है—यही निष्कर्ष दिया गया है - PNG या JPG जैसे दूसरे formats को
paint(1),crop(1),vcrop(1)में सीधे handle नहीं किया जा सकता, लेकिनpage(1)से display किया जा सकता है - अगर original खो गया हो, तो PNG को फिर से 9front format में convert करके edit किया जा सकता है
png -c9 my_picture.png > my_picture.pic
- result को दूसरी device पर ले जाने के तरीके simple से लेकर complex तक कई हैं
page(1)में खोलकर phone से screen की photo लेना- FAT USB drive connect करके
/shr/sdS0M3TH1NGमें copy करना sshfs(4)से Unix computer पर भेजना- Unix computer से drawterm के जरिए connect करके
/mnt/term/some/whereमें copy करना mothra(1)से snac पर post करना- 9front computer से खुद को email भेजना
- 9front के अंदर virtual machine में
sshfs(4)transfer करना - 9front webserver पर copy करके दूसरी device से download करना
1 टिप्पणियां
Lobste.rs की राय
9front के Mothra में लिखा गया
हो सकता है कि स्वाभाविक सूक्ष्म बदलाव Bresenham line से ज़्यादा अच्छे दिखते हों
फिर भी यह अच्छी बात है कि compass को tablet की सतह पर सीधे रखने के बजाय onion paper के ऊपर इस्तेमाल किया गया
लेकिन ज़्यादातर मामलों में यह ऐसी चीज़ है जिससे सावधानी रखकर बचा जा सकता है, इसलिए कृत्रिम precision से ज़्यादा मैं physical guide इस्तेमाल करने की जोरदार सिफारिश करता हूँ
अगर needle वाली तरफ cork wine stopper का टुकड़ा लगा दें तो शायद ठीक काम करेगा :^)