6
A
cevap
20
Ben çizilir renkleri kontrol etmek için basit bir yol var iyi ve kolay ömeği here
C# ve GDI + buldum. Temel olarak bir ColorMatrix. Ayarlanmışsa, her bir renge için uygulanan 5 × 5 matristir. Parlaklığı ayarlamak sadece renk verisinde bir çevirme gerçekleştiriyor ve kontrast renginde bir ölçek gerçekleştiriyor. Gama, tamamen farklı bir dönüşüm biçimidir, ancak ColorMatrix'i kabul eden ImageAttributes'ta bulunur.
Bitmap originalImage;
Bitmap adjustedImage;
float brightness = 1.0f; // no change in brightness
float contrast = 2.0f; // twice the contrast
float gamma = 1.0f; // no change in gamma
float adjustedBrightness = brightness - 1.0f;
// create matrix that will brighten and contrast the image
float[][] ptsArray ={
new float[] {contrast, 0, 0, 0, 0}, // scale red
new float[] {0, contrast, 0, 0, 0}, // scale green
new float[] {0, 0, contrast, 0, 0}, // scale blue
new float[] {0, 0, 0, 1.0f, 0}, // don't scale alpha
new float[] {adjustedBrightness, adjustedBrightness, adjustedBrightness, 0, 1}};
ImageAttributes imageAttributes = new ImageAttributes();
imageAttributes.ClearColorMatrix();
imageAttributes.SetColorMatrix(new ColorMatrix(ptsArray), ColorMatrixFlag.Default, ColorAdjustType.Bitmap);
imageAttributes.SetGamma(gamma, ColorAdjustType.Bitmap);
Graphics g = Graphics.FromImage(adjustedImage);
g.DrawImage(originalImage, new Rectangle(0,0,adjustedImage.Width,adjustedImage.Height)
,0,0,originalImage.Width,originalImage.Height,
GraphicsUnit.Pixel, imageAttributes);
İlgili konular
- 1. Daha iyi bir yöntem, daha hızlı bir şekilde sorgulamak için daha iyi bir yoldur.
- 2. jQuery - sıralamasında continouns uygulamak için iyi bir yoldur Ne
- 3. Kontrast veya keskinliği ayarlamak için Çekirdek Görüntü filtrelerini nasıl kullanabilirsiniz?
- 4. UIAlertController textfield width, normalden daha küçük bir yoldur
- 5. Dosyalarda dolaşmak için kolay bir yol C#
- 6. NSColor, 10.6 ve Gama 2.2
- 7. Bir değer almak ve ayarlamak için bir struct kullanma yolları?
- 8. Dikişli görüntüler arasında kontrastı ve parlaklığı dengeleme
- 9. Çıkış yapmak için daha iyi ve/veya daha kolay bir yol var mı?
- 10. C#: Daha sonra bir SecureString
- 11. İstemci tüketimini daha kolay bir şekilde yanıtlamak için nasıl gruplanır
- 12. ben bir görüntü yazmak için bir gereksinim var bir görüntü
- 13. Bir sorunun ne zaman kapatıldığını öğrenmenin kolay bir yolu var
- 14. Bir toplu iş dosyasında bir giriş cevabını otomatikleştirmek nasıl
- 15. sıralama popülerliğe göre, bir liste atın ve daha sonra çiftleri
- 16. Burada mysql.data.dll için c bulabilirsiniz (
- 17. Ruby'de bir dir silmek için ne güvenli ve kolay bir yol?
- 18. Bir düğmeyle sistemden bir görüntü kullanabilir miyim veya kendim çizmek zorunda mıyım?
- 19. Bir düğmenin arka planını bir görüntü olarak ayarlamak için programsal olarak
- 20. karşılaştır/countNonZero daha büyük bir değer daha sonra beklenen
- 21. Erlang'da bir sububsub kayıt alanındaki bir değeri değiştirmek için daha kolay bir yol var mı?
- 22. Web çalışanlarının güvenilir olmayan bir şekilde engellenmesi javascript kodu için güvenli bir yoldur
- 23. PropertyChanged etkinlik testi: Bu iyi bir yoldur?
- 24. Bir kütüphane için kuru ve kuru AJAX işlevselliği kendim için yazıyorum; bu yeterli olur mu?
- 25. JQuery ajax hatasının ne olduğunu nasıl bulabilirsiniz?
- 26. Bir kelimenin bir metin kutusunda hangi satırda bulunduğunu nasıl bulabilirsiniz?
- 27. Erimiş bir veri çerçevesini yeniden oluşturmanın daha kolay yolu özgün
- 28. Daha sonra okumak için bir çift numara yazılması Scanner.nextDouble()
- 29. bu etmektir çoğaltmak için</p> <p>... Kolay bir şekilde Chromedriver
- 30. Daha güvenli bir şekilde daha güvenli Play Scala çerçeve oturumu tanımlama bilgisi aracılığıyla daha kolay uygulanabiliyor