Bu, bir metin düzenleyicisine yazılan bazı metinlerin ekran görüntüsüdür:
Bu, daha büyük boyutta aynı metindir.
Örtüşmeninx
ve gibi belirgin çapraz darbeleri olan harflerde ne kadar görünür olduğuna dikkat edin z
. Raster yazı tiplerinin TrueType gibi "ölçeklenebilir" biçimlerde popülerliğini kaybetmesinin önemli bir nedeni budur.
Ancak, bu, raster yazı tiplerinde, sadece ölçeklendirmenin tipik olarak uygulanma biçiminde doğal bir sorun değildir. Burada basit kullanarak alternatif bir yerinde oldu doğrusal interpolasyon ile kombine eşikleme .
Bu daha yumuşak ama ideal değil. Çapraz vuruş hala engebeli ve benzeri kavisli harfler c
ve o
hala poligonlardır. Bu özellikle büyük boyutlarda fark edilir.
Peki daha iyi bir yol var mı?
Görev
Üç komut satırı argümanı alan bir program yazın.
resize INPUT_FILE OUTPUT_FILE SCALE_FACTOR
nerede
- INPUT_FILE, beyaz bir arka plan üzerinde siyah metin içeren bir görüntü dosyası olduğu varsayılan girdi dosyasının adıdır. Uygun olan herhangi bir genel raster görüntü formatını (PNG, BMP, vb.) Kullanabilirsiniz .
- OUTPUT_FILE, çıktı dosyasının adıdır. Raster veya vektör görüntü formatı olabilir. ClearType benzeri bir alt piksel oluşturma işlemi yapıyorsanız renk tanıtabilirsiniz.
- SCALE_FACTOR, görüntünün ne kadar yeniden boyutlandırılabileceğini gösteren pozitif bir kayan nokta değeridir. Bir verilen x x y piksel giriş dosyasını ve faktör ölçekleme s , çıkış arasında bir büyüklüğe sahip olacak sx x sy piksel (tam sayıya yuvarlanarak).
Üçüncü taraf açık kaynaklı bir görüntü işleme kütüphanesi kullanabilirsiniz.
Kodunuza ek olarak, ilk görüntümü girdi olarak kullanarak programınızın örnek çıktılarını 1.333, 1.5, 2, 3 ve 4 ölçek faktörlerine ekleyin . Ayrıca, orantılı aralıklı olanlar da dahil olmak üzere diğer yazı tipleriyle de deneyebilirsiniz.
puanlama
Bu bir popülerlik yarışması. En fazla yukarı oy alan eksi aşağı oy alan giriş kazanır. Tam bir bağ olması durumunda, önceki giriş kazanır.
Düzenleme : Girişlerin olmaması nedeniyle süre uzatıldı. TBA.
Seçmenler öncelikle çıktı görüntülerinin ne kadar iyi göründüğüne ve ikincil olarak algoritmanın sadeliğine / zarafetine dayanarak karar vermeye teşvik edilir.
SCALE_FACTOR
zaman> 1 midir?