Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir IWICBitmapSource bir efekt grafiğinde giriş olarak kullanmak üzere ID2D1Image oluşturmak için bit eşlem kaynak efektini kullanın. Bu etki, CPU üzerinde ölçeklendirme ve döndürme gerçekleştirir. Ayrıca isteğe bağlı olarak bir sistem bellek mipmap'i oluşturabilir ve bu da çok büyük görüntüleri çeşitli azaltılmış çözünürlüklerde etkin bir şekilde ölçeklendirmek için bir performans iyileştirmesi olabilir.
Not
Bit eşlem kaynak efekti, girdisini görüntü girişi olarak değil özellik olarak alır. SetInput yöntemini değil, SetValue yöntemini kullanmanız gerekir. WicBitmapSource özelliği, görüntü giriş verilerini belirttiğiniz yerdir.
Bu etki için CLSID CLSID_D2D1BitmapSource.
- Efekt özellikleri
- ilişkilendirme modları
- Yönlendirme
- Alfa modları
- Açıklamalar
- Gereksinimleri
- İlgili konular
Efekt özellikleri
| Görünen ad ve dizin numaralandırması | Açıklama |
|---|---|
| WicBitmap Kaynağı D2D1_BITMAPSOURCE_PROP_WIC_BITMAP_SOURCE |
IWICBitmapSource yüklenecek görüntü verilerini içeren. Tür, IWICBitmapSource . Varsayılan değer NULL'dir. |
| Ölçeklemek D2D1_BITMAPSOURCE_PROP_SCALE |
X ve Y yönündeki ölçek miktarı. Efekt, genişliği X değeriyle, yüksekliği ise Y değeriyle çarpar. Bu özellik şu şekilde tanımlanan bir D2D1_VECTOR_2F: (X ölçeği, Y ölçeği). Ölçek miktarları FLOAT, birimsizdir ve pozitif veya 0 olmalıdır. Türü D2D1_VECTOR_2F. Varsayılan değer: {1.0f, 1.0f}. |
| Enterpolasyon Modu. D2D1_BITMAPSOURCE_PROP_INTERPOLATION_MODE |
Görüntüyü ölçeklendirmek için kullanılan ilişkilendirme modu. Daha fazla bilgi için bkz. ilişkilendirme modları. Mod mipmap'i devre dışı bırakırsa, BitmapSource görüntüyü Scale ve EnableDPICorrection özellikleri tarafından belirlenen çözünürlükte önbelleğe alır. Türü D2D1_BITMAPSOURCE_INTERPOLATION_MODE. Varsayılan değer D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR. |
| EnableDPICorrection D2D1_BITMAPSOURCE_PROP_ENABLE_DPI_CORRECTION |
Bunu TRUE olarak ayarlarsanız etki, IWICBitmapSource tarafından bildirilen DPI'yi cihaz bağlamının DPI'sine dönüştürmek için giriş görüntüsünü ölçeklendirir. Etkisi, InterpolationMode özelliğiyle ayarladığınız ilişkilendirme modunu kullanır. Bunu YANLIŞ olarak ayarlarsanız, efekt çıkış görüntüsü için 96.0 DPI kullanır. Türü BOOL'dir. Varsayılan değer YANLIŞ'tır. |
| Alfa Modu D2D1_BITMAPSOURCE_PROP_ALPHA_MODE |
Çıkışın alfa modu. Bu, önceden yüklenmiş veya düz olabilir. Daha fazla bilgi için bkz. Alpha modları. Türü D2D1_BITMAPSOURCE_ALPHA_MODE. Varsayılan değer D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED. |
| Yönelim D2D1_BITMAPSOURCE_PROP_ORIENTATION |
Görüntüde gerçekleştirilecek bir çevirme ve/veya döndürme işlemi. Daha fazla bilgi için bkz. Yönlendirme. Türü D2D1_BITMAPSOURCE_ORIENTATION. Varsayılan değer D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT. |
İlişkilendirme modları
Efekt, bir görüntüyü ölçeklendirirken veya DPI'yi düzelttiğinde bu modu kullanarak ilişkilendirme sağlar. Bu efektin kullandığı ilişkilendirme modları GPU tarafından değil CPU tarafından hesaplanır.
| Ad | Açıklama |
|---|---|
| D2D1_BITMAPSOURCE_INTERPOLATION_MODE_NEAREST_NEIGHBOR | En yakın tek noktayı örnekler ve bunu kullanır. Mipmap oluşturmaz. |
| D2D1_BITMAPSOURCE_INTERPOLATION_MODE_LINEAR | Dört noktalı örnek ve doğrusal ilişkilendirme kullanır. Mipmap oluşturmaz. |
| D2D1_BITMAPSOURCE_INTERPOLATION_MODE_CUBIC | İlişkilendirme için 16 örnek kübik çekirdek kullanır. Mipmap oluşturmaz. |
| D2D1_BITMAPSOURCE_INTERPOLATION_MODE_FANT | WIC fant ilişkilendirmesini IWICBitmapScaler arabirimiyle aynı şekilde kullanır. Mipmap oluşturmaz. |
| D2D1_BITMAPSOURCE_INTERPOLATION_MODE_MIPMAP_LINEAR | Bilinear ilişkilendirme kullanarak sistem belleğinde mipmap zinciri oluşturur. Her mipmap için efekt, bilinear ilişkilendirme kullanarak 0,5'in en yakın katına ölçeklendirilir ve doğrusal ilişkilendirmeyi kullanarak kalan miktarı ölçeklendirir. |
Yönelim
Orientation özelliği, bir görüntüye eklenmiş bir EXIF yönlendirme bayrağı uygulamak için kullanılabilir.
| Ad | Açıklama |
|---|---|
| D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT | Temerrüt. Efekt girişin yönünü değiştirmez. |
| D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL | Görüntüyü yatay olarak çevirir. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180 | Görüntüyü saat yönünde 180 derece döndürür. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL | Görüntüyü saat yönünde 180 derece döndürür ve yatay olarak çevirir. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL | Görüntüyü saat yönünde 270 derece döndürür ve yatay olarak çevirir. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90 | Görüntüyü saat yönünde 90 derece döndürür. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL | Görüntüyü saat yönünde 90 derece döndürür ve yatay olarak çevirir. |
| D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270 | Görüntüyü saat yönünde 270 derece döndürür. |
Bu kod parçacığı, EXIF yönlendirme değerlerinden (propkey.h içinde tanımlanan) D2D1_BITMAPSOURCE_ORIENTATION değerlere dönüştürmeyi gösterir.
#include <propkey.h>
#include <d2d1effects.h>
D2D1_BITMAPSOURCE_ORIENTATION GetBitmapSourceOrientation(unsigned short PhotoOrientation)
{
switch (PhotoOrientation)
{
case PHOTO_ORIENTATION_NORMAL:
return D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT;
case PHOTO_ORIENTATION_FLIPHORIZONTAL:
return D2D1_BITMAPSOURCE_ORIENTATION_FLIP_HORIZONTAL;
case PHOTO_ORIENTATION_ROTATE180:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180;
case PHOTO_ORIENTATION_FLIPVERTICAL:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL;
case PHOTO_ORIENTATION_TRANSPOSE:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL;
case PHOTO_ORIENTATION_ROTATE270:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE90;
case PHOTO_ORIENTATION_TRANSVERSE:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL;
case PHOTO_ORIENTATION_ROTATE90:
return D2D1_BITMAPSOURCE_ORIENTATION_ROTATE_CLOCKWISE270;
default:
return D2D1_BITMAPSOURCE_ORIENTATION_DEFAULT;
}
}
Alfa modları
| Ad | Açıklama |
|---|---|
| D2D1_BITMAPSOURCE_ALPHA_MODE_PREMULTIPLIED | Efekt çıktısı önceden yüklenmiş alfa kullanır. |
| D2D1_BITMAPSOURCE_ALPHA_MODE_STRAIGHT | Efekt çıkışı düz alfa kullanır. |
Açıklamalar
WIC ve Direct2D birlikte kullanırken performansı iyileştirmek için uygulamanızın senaryosunu ve görüntünün yerel duyarlığı temelinde uygun bir piksel biçimine dönüştürmek için IWICFormatConverter kullanmalısınız.
Çoğu durumda, uygulamanızın Direct2D işlem hattı kanal başına yalnızca 8 bit duyarlık (bpc) gerektirir veya görüntü yalnızca 8 bpc duyarlık sağlar ve bu nedenle GUID_WICPixelFormat32bppPBGRA dönüştürmeniz gerekir. Bununla birlikte, bir görüntü tarafından sağlanan ek duyarlıktan (örneğin, 8 bpc duyarlıktan büyük bir JPEG-XR veya TIFF) yararlanmak istiyorsanız RGBA tabanlı bir piksel biçimi kullanmanız gerekir. Aşağıdaki tabloda daha fazla ayrıntı sağlanmaktadır.
| İstenen duyarlık | Görüntünün yerel duyarlığı | Önerilen piksel biçimi |
|---|---|---|
| Kanal başına 8 bit | <= Kanal başına 8 bit | GUID_WICPixelFormat32bppPBGRA |
| Mümkün olduğunca yüksek | <= Kanal başına 8 bit | GUID_WICPixelFormat32bppPBGRA |
| Mümkün olduğunca yüksek | Kanal başına 8 bit > | RGBA kanal sırası, önceden yüklenmiş alfa |
Birçok görüntü biçimi birden fazla duyarlık düzeyini desteklediğinden, görüntünün yerel piksel biçimini elde etmek için IWICBitmapSource::GetPixelFormat kullanmanız ve ardından bu biçim için duyarlık kanalı başına kaç bit olduğunu belirlemek üzere IWICPixelFormatInfo kullanmanız gerekir. Ayrıca, tüm donanımların yüksek duyarlıklı piksel biçimlerini desteklemediğini unutmayın. Bu gibi durumlarda uygulamanızın yüksek duyarlığı desteklemek için WARP cihazına geri dönmesi gerekebilir.
Gereksinim -leri
| Gereksinim | Değer |
|---|---|
| Desteklenen en düşük istemci | Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları] |
| Desteklenen en düşük sunucu | Windows 7 için Windows 8 ve Platform Güncelleştirmesi [masaüstü uygulamaları | Windows Mağazası uygulamaları] |
| Üstbilgi | d2d1effects.h |
| Kütüphane | d2d1.lib, dxguid.lib |