- 9front’ta çizim yapmanın tüm akışını
paint(1)merkezinde özetler; girdi aygıtı seçiminden tuval yönetimine, görüntü işlemeye ve dışa aktarmaya kadar birbirine bağlar - Çalışma 9front’un dahili image(6) biçiminde yürütülür;
paint(1)ile çizdikten sonra sonucupage(1),crop(1),vcrop(1),resize(1),rotate(1)ile ayarlama yöntemini kullanır paint(1)basınç algılama, katmanlar ve kes/yapıştır sunmadığından kullanıcı çalışma alanını ve renkleri kâğıt kullanır gibi doğrudan yönetmek zorundadır- Fare, parmak, kalem, harici tablet ve drawterm/VNC girdilerinin hepsini ele alır; ancak kalem düğmeleri fare tıklamalarını taklit ettiğinden klavye ve fareyi yakında tutan bir düzen pratiktir
- Dışarıda paylaşım için PNG dönüşümü uygundur; PNG veya JPG,
paint(1),crop(1),vcrop(1)tarafından doğrudan düzenlenemez, bu yüzden gerekirse yeniden 9front image biçimine çevrilmelidir
9front’ta çizim yapmak için temel kurulum
- Çizim yapmak için “çizecek bir araç” ve “üzerine çizilecek bir yüzey” gerekir; 9front’ta gerçek kalem giriş aygıtlarının yanı sıra çeşitli giriş yöntemleri kullanılabilir
- 9front çalıştıran bir bilgisayar varsa
How to drawizlenebilir; doğrudan ekran üzerine çizim yapılan bir aygıt isteniyorsa Wacom destekli 2’si 1 arada dizüstüler uygundur - Gerçekte iyi çalıştığı görülen aygıt listesi aşağıdaki ThinkPad modelleridir
Girdi aygıtlarına göre özellikler
- Fareyle çizim eski bir yöntemdir, ancak fare bulunan her bilgisayarla uyumlu olması avantajdır
- Parmak girişi ekrana dokunmayı sol fare tıklaması gibi taklit eder, ancak diğer tıklamaların yerini tutamaz; bu yüzden fareyi yakında tutmak gerekir
- Harici tabletlerde ekranlı ürünlerin 9front’ta çalışmama olasılığı vardır; ekransız ürünler ise çalışabilir
- Önerilen aygıt GAOMON S620’dir ve 9front’ta tak-çalıştır olarak iyi çalışır
- Wacom CTL-672 göreli koordinatlı bir touchpad gibi çalışır
- Wacom CTL-490 çalışmaz
- İlgili bilgiler [fqa] 3.2.4 - Tablet Digitizers bölümünde bulunur
- Yalnızca klavyeyle düzgün çizim yapmak zordur, ancak
paint(1)çalışmasında klavye gerekir- Fiziksel klavyeye erişimin zor olduğu tablet bilgisayarlarda veya özel ortamlarda
bitsy/keyboardekran klavyesi kullanılabilir - Çalıştırma örneği:
rio -k 'bitsy/keyboard -n'
- Fiziksel klavyeye erişimin zor olduğu tablet bilgisayarlarda veya özel ortamlarda
- drawterm/VNC kullanılırsa uzaktaki veya sanal bir 9front bilgisayarına bağlanıp daha çeşitli girdi aygıtları kullanılabilir
- Android telefonda parmakla çizim yapmak, Linux ve MacOS’ta fareyle çizim yapmak veya Windows’ta 9front’un doğrudan desteklemediği giriş aygıtlarını kullanmak mümkündür
- İlgili site: drawterm.9front.org
image(6) biçimi ve paint(1)’in varsayımları
- 9front’ta çizim, kırpma ve görüntü işleme dahili image(6) biçimli dosyalarda yapılır
- Çizim oluştururken biçimi fazla dert etmeniz gerekmez, ancak dışarıda paylaşmak için başka bir biçime dönüştürmek gerekir
- Dosya adı için
file.picgibi bir kullanım örnek verilir, ancak istediğiniz adı verebilirsiniz - Bu rehber, 9front’taki çeşitli çizim programları arasından yalnızca
paint(1)programını ele alır paint(1)’e, tipik dijital çizim programlarından çok kâğıt, mürekkep ve renkle çizim yapmaya daha yakın bir yaklaşımla bakmak gerekir
paint(1)’in sınırlamaları ve temel kullanım
- Kalem ve tablet düğmeleri fare girdisini taklit eder; rehberde bunların hepsi fare işlemleri olarak ifade edilir
- Ekranın üzerinde havada durma fare hareketidir
- Yüzeye dokunmak sol tıklama veya basılı tutmadır
- İdeal kalemde orta tıklama ve sağ tıklama için 2 düğme bulunur
- Yalnızca sağ tıklama yapabilen bir düğme varsa Shift’e basılı tutup düğmeye basarak orta tıklama taklit edilebilir
paint(1)ve 9front basınç algılama desteklemez- Katmanlar ve kes/yapıştır da yoktur; çizdiğiniz şey olduğu gibi sonuç olur
- Kaydetme ve açma klavye girdileriyle yapılır
w: dosyayı kaydetr: dosyayı aç veya yeniden oku|: geçerli tuvali bir komuta pipe ederek dönüştür< command: komut sonucunupaint(1)içine okuyup geçerli tuvali değiştir> command: geçerli tuvali komuta verip dosyaya yaz
- Örnek işlemler şöyledir
| rotate -u: tuvali döndür< crop -i -50 glenda.pic:glenda.picdosyasına 50 piksel siyah kenarlık ekleyerek aç> crop -i -50 | rotate -r 90 > modified_glenda.pic: geçerli tuvale kenarlık ekle, 90 derece döndür ve kaydet
Tuval, piksel yerleştirilmiş alanla belirlenir
paint(1)içinde tuval, çizimi içeren dikdörtgen alandır- Başlangıçtaki beyaz pencere boş bir dosyadır; ilk pikseli çizdikten veya sildikten sonra ancak tuval oluşur
paint(1)en uzaktaki pikseli tuvalin sınırı olarak kabul eder- Pencere boyutu tuval boyutunu belirlemez
- Silgiyle silinen pikseller de piksel yerleştirilmiş sayılır
- İlk oluşturulan
paint(1)penceresinin boyutunu çalışma tuvali gibi düşünüp köşelere kırpma işaretleri çizerek çalışmak önerilir - Tam boyutlu bir çizim gerekiyorsa ayrı bir işlemle sabit boyutlu tuval oluşturmak, çalışma sonrasında kırpma hesabı yapmak veya boşlukları kaldırmak gerekir
paint(1)’in başlıca araçları
- Araç seçimi, alttaki araç çubuğuna sol fareyle tıklanarak yapılır
- Renkler
- Sol tıklamayla renk seçilir
- Araç çubuğundaki renge sağ tıklanırsa paleti değiştirmek için onaltılık kod girilebilir
paint(1)kapandıktan sonra paleti hatırlamaz; bu yüzden her yeni pencere açıldığında yeniden değiştirmek gerekir- 16’dan fazla renk kullanmak için aynı çizim dosyası birden fazla
paint(1)penceresinde açılıpwverile eşitlenebilir
- Fırça
0-9veya sol fareyle fırça boyutu seçilir ve sürükleyerek çizilir
- Doldurma
f,c, sol fare ve orta fare kullanılır- Aynı renkle bağlı piksel alanını başka bir renge çevirir
- Arka plan rengini değiştirmek için de kullanılır; arka plan rengi, silginin dönüştürdüğü renktir
cher şeyi kaldırır, seçili rengi arka plan yapar ve dosyayı boş dosya durumuna getirir
- Silgi
0-9ve orta fare kullanılır- İmlecin altını, geçerli fırça boyutuyla aynı boyutta arka plan rengine çevirir
- Düz çizgi ve daire
- Düz çizgi için cetvel kullanılır
- Daire için yassı ve yuvarlak bir nesne ya da pelür kâğıdına pergelle önceden çizilmiş bir daire izlenir
- Taşıma, yakınlaştırma, geri alma
- Sağ fareye basılı tutup hareket ettirirseniz pan yapılır
-,+ile yakınlaştırıp uzaklaştırılır, ancak özgün yakınlaştırma düzeyinden daha uzağa uzaklaştırılamazEscyakınlaştırmayı sıfırlar ve tuvali ortalaruson kesintisiz çizgi parçasını geri alır; tek bir uzun çizgi bile birden fazla undo adımına bölünebilir
Sahte katmanlar ve renge dayalı kaldırma
paint(1)’de katman yoktur, ancak gerçekte kullanmayacağınız bir renkle eskiz yapıp üzerine çizgi çizerek sahte katman oluşturabilirsiniz- Örnekte eskiz rengi olarak HotPink kullanılır ve tamamlandıktan sonra yalnızca bu renk kaldırılır
- Elle doldurma veya hassas silgi kullanmak uzun sürebileceğinden
picoile belirli bir rengi arka plan rengine dönüştürmek yararlıdır picoşu komutla alınabilirgit/clone https://github.com/qwx9/pico
- İlgili açıklama Image Manipulation on Plan 9 Using pico adresindedir
- HotPink
#ff5fd7renginin onluk RGB değerleri255, 95, 215’tir;pc(1)ile dönüştürme örneği de içerilir
page(1), crop(1), vcrop(1), resize(1), rotate(1)
page(1)bir belge görüntüleyicidir; çeşitli görüntü biçimlerini, PDF’leri, e-kitapları vb. göstermek için kullanılırpage my_picture.picile çizim görülebilir- Görüntü işleme sonucunu dosyaya yazmadan önce
page(1)ile kontrol etme alışkanlığı önerilir page(1)içinde dewtuşuna basarak gösterilen sonuç dosyaya kaydedilebilir
- Çizim
paint(1)penceresinden büyük hâle gelirse ayrı birpage picture.filepenceresi açıpfit widthveyafit heightile önizleme penceresi gibi kullanılabilir vcrop(1)grafiksel bir kırpma aracıdır- Sol fareyle pan yapılır
- Orta fareyle kırpma aracı seçilir
- Sağ fareyle kaydetme gibi seçenekler gösterilir
- Yakınlaştırma olmadığından pencereden büyük bir alanı kırpmak veya piksel düzeyinde hassas kırpma gerektiğinde sınırlamaları vardır
crop(1)piksel satırlarını kaldırır veya eklercrop -x 50 mypic.pic > mypic_crop.pic: sağdan ve soldan 50 piksel kırpcrop -i -10 -b 255 255 255 mypic.pic: 10 piksel beyaz kenarlık ekle
resize(1)çizimi büyütür veya küçültür- Özgün oranı korumak için
-xveya-yseçeneklerinden yalnızca biri belirtilir - Örnek:
resize -n -y 245 mypic.pic > mypic_resized.pic
- Özgün oranı korumak için
rotate(1)görüntüyü 90 derecelik birimlerle döndürebilirrotate -r 90 my.pic > rotated.my.picrotate -ul > flipped.my.pic
Tam tuval boyutu oluşturma ve kırpma stratejisi
- Tam olarak 250x250 gibi bir boyut gerekiyorsa boş bir görüntü oluşturup
resize(1)ile istenen boyuta getirdikten sonrapaint(1)ile açma işlemi kullanılırw 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)tuval sınırlarının dışına çizim yapmayı engellemez; sınır aşılırsa çizim boyutu genişler- Üç seçenek vardır
- Sınırı aşan çizgileri önemsemeyip iş bittikten sonra matematiksel olarak kırpmak
- Çalışmadan önce eşit fazladan boşluk ekleyip tamamlandıktan sonra kaldırmak
- Köşelere kırpma işaretleri çizip daha sonra kırpmak
crop -r a b c d, görüntünün mutlak koordinatlarını kullanarak kırpar; koordinatlardd -bs 128 -count 1ile kontrol edilebilir- Boşluk yöntemi örneğin 250x250 beyaz tuvale 25 piksel kırmızı boşluk ekleyerek çalışmak, bitince
crop -i 25ile kaldırıp tam 250x250 sonuç elde etmektir
İz üzerinden çizim ve palet
- İnternetten bir görüntü alıp 9front biçimine dönüştürdükten sonra,
picoile açarakpaint(1)içinde üzerinden çizim yapılabilir- Örnek:
hget http://img.triapul.cz/fahwui.jpg | jpg -c9 > to.trace.pic picoiçindez == 3 ? Z : (im + Z) / 2ile görüntü açılır
- Örnek:
paint(1)içinde HotPink gibi belirli bir renkle çizgilerin üzerinden geçtikten sonra,picoile yalnızca o renk bırakılıp geri kalanlar beyaza çevrilebilir- Paletle ilgili kaynak olarak git.sr.ht/~amavect/makeu bulunur
Dışa aktarma ve paylaşma
- 9front’ta çizilen görüntüler fiilen piksel art olduğundan PNG biçimine dönüştürülmesi önerilir
- PNG’nin JPG’den her zaman daha küçük ve net olduğu,
paint(1)içinde göründüğü gibi göründüğü belirtilir - PNG veya JPG gibi diğer biçimler
paint(1),crop(1),vcrop(1)içinde doğrudan işlenemez, ancakpage(1)ile görüntülenebilir - Özgün dosya kaybedildiyse PNG yeniden 9front biçimine dönüştürülüp düzenlenebilir
png -c9 my_picture.png > my_picture.pic
- Sonucu başka aygıtlara aktarmanın basitten karmaşığa çeşitli yolları vardır
page(1)ile açıp telefonla ekranın fotoğrafını çekmek- FAT USB sürücü bağlayıp
/shr/sdS0M3TH1NGkonumuna kopyalamak sshfs(4)ile Unix bilgisayara aktarmak- Unix bilgisayardan drawterm ile bağlanıp
/mnt/term/some/wherekonumuna kopyalamak mothra(1)ile snac’te yayımlamak- 9front bilgisayarından kendinize e-posta göndermek
- 9front içindeki sanal makineye
sshfs(4)ile aktarmak - 9front web sunucusuna kopyalayıp başka bir aygıttan indirmek
1 yorum
Lobste.rs yorumları
9front'taki Mothra'da yazıldı
Belki doğal küçük sapmalar, çizgiyi Bresenham çizgisinden daha hoş gösterebilir
Yine de pergeli tablet yüzeyine doğrudan dayamayıp aydınger kâğıdı üzerinde kullanmış olması iyi olmuş
Yine de çoğu, farkında olup kaçınabileceğiniz bir sorun; bu yüzden yapay hassasiyet yerine fiziksel kılavuzlar kullanmayı şiddetle öneririm
İğne tarafını bir mantar şarap tıpası parçasına batırırsanız fena çalışmayabilir :^)