18 Haziran 2009 Perşembe

Corel DRAW Macro Dersleri 2 - RGB2CMYK

Bu derste de CorelDraw sayfası içindeki RGB modundaki bir/birçok resmi CMYK moduna çevirme kodlarını inceleyeceğiz.

Evet kodlarımızı yazmaya başlayalım ve de açıklamalarını da karşılarına ekleyelim (' ile başlayan yerler tanımlar için, kod olarak işlemezler);

Dim b As Shape 'Aranacak RGB modundaki bmp'ye bir tanım yapıyoruz.

For Each b In d.ActivePage.FindShapes ' aktif sayfadaki RGB bmpler için bir "arama döngüsü" oluşturacağız.

If b.Type = cdrBitmapShape Then 'Eğer bmp tipi cdr bitmap ise (1. koşulumuz)
If b.Bitmap.Mode = cdrRGBColorImage Then 'Eğer bmp renk modu cdr RGB ise (2. koşulumuz)
b.Bitmap.ConvertTo cdrCMYKColorImage 'bu resimi CMYK moda çevir.
End If '1. Koşul sonu
End If '2. Koşul sonu
Next b 'Sıradaki bmp'ye geçelim Göz kırpan

Şimdi kodların normal yazılmış haline bir göz atalım.


Dim d As Document
Dim b As Shape
For Each b In d.ActivePage.FindShapes
If b.Type = cdrBitmapShape Then
If b.Bitmap.Mode = cdrRGBColorImage Then
b.Bitmap.ConvertTo cdrCMYKColorImage
End If
End If
Next b


Eğer birden fazla döküman açıksa ve de bunlar içindeki RGB bmplerin CMYK'ya çevrilmesini istiyorsak, bu kodlarımıza da döküman için döngü eklemeliyiz. (geçen dersimizden hatırlıyoruz)
Görünüm şu şekilde olur.

Dim d As Document
Dim b As Shape
For Each d In Documents
For Each b In d.ActivePage.FindShapes
If b.Type = cdrBitmapShape Then
If b.Bitmap.Mode = cdrRGBColorImage Then
b.Bitmap.ConvertTo cdrCMYKColorImage
End If
End If
Next b
Next d


Evet sayfaya gelişigüzel birkaç RGB modlu bmp import edip kodumuzu çalıştıralım. (Sub ve End Sub blokları arasına yapıştırabilirsiniz.)

İyi çalışmalar, başarılar...

Yazar: Tunç Olcay

3 yorum:

  1. Tunç bey bu makroya Resolution(çözünürlük) kısmınıda entegre edersek süper olacakk

    YanıtlaSil
    Yanıtlar
    1. Çağlar, CorelTÜRK RGB2CMYK Bitmaps 2.1 kullandın mı?

      Sil
  2. Kürşad Bey onu yapmış zaten, buradaki kodlar örnek oluşturmak için yazılmıştır.

    YanıtlaSil