Yaptığım formatta {Indexed8} olan bir 2208 x 3000 TransformedBitmap nesnesine sahibim .CopyPixels() açık. Ben 'Stride' Bir TransformedBitmap Nesnesinden Yaralanmalar
(int)((formattedBitmap.PixelWidth * formattedBitmap.Format.BitsPerPixel + 7)/8)
kullanıyorum benim yöntem çağrısında 'adım' değeri ve olduğu bir bayt dizisi için ('formattedBitmap' varsayarak ben pikselleri kopyalamak çalışıyorum hangi resmin adıdır) 2208 uzunluğunda. Kodun başka bir yerinde çalışan bu gibi bir şey var (resmin biçiminin {Gray8} olduğu yer. Ancak, aynı şeyi yukarıda bahsedilen görüntü üzerinde yapmaya çalıştığım yerde, sürekli olarak bir "Bağımsız Değişken" aldım. "Parametre değeri" 6624000'den küçük olamaz. "r \ nParametre adı: arabellek."
Bu konuyla ilgili sorularım: neden dünyanın tam olarak aynı kodun tek bir yerde çalıştığı görünmüyor diğeri? Dünyada, tabanda, gerçekten 'adım' nedir? Ve bu hatayı almadan, istenen etkiyi nasıl alabilirim (bitlerin kopyalanması)? Neyi yanlış yapıyorum?
Herhangi bir yardım Bu çok takdir olurdu.Çok teşekkürler!
Oh, ve MSDN bir 'adım' ne hakkında oldukça iyi bir makaleye sahiptir. Kesinlikle "layman'ın" şartları değil ve ben aslında biraz konvüle buldum, ama iyi bir referans yok-az-(C# içinde görüntü işleme için yeni olup olmadığını anlamak için birden fazla kez okumak için sadece bir kez gerekebilir (olduğum gibi!)) LINK: http://msdn.microsoft.com/en-us/library/aa473780(VS.85).aspx – JToland
Kod üzerinden bakmaya eğilimli bir kişi olarak (hepimiz acelemiz var) Doğru?) Adım hesaplamanızı gördüm (yanlış olanı) ve yarım saat kadar çalıştıktan sonra doğru formülü aldığınızı anlamaya çalışın. En üstte doğru formüllere sahip olmak güzel olurdu :) – Peter