Her rengi değiştirmek isterseniz, saygısız bir işlev yerine (döndürme) bir döndürme işlevini (kaydırma veya ekleme) deneyin. Diğer bir deyişle, sarılacak her bir renk için (kırmızı, yeşil ve mavi) 0 ile 255 arasındaki bir aralığı göz önünde bulundurun, değerler çemberi gibi uçlara bağlanır. Daha sonra, bir değer ekleyerek ve mod 256 yaparak her bir rengi çevirin. Örneğin, kırmızı için başlangıç değeriniz 255 ise ve 1'i eklerseniz, 0 elde edersiniz. Eğer üç rengi de 128 olarak değiştirirseniz, önemli ölçüde farklılaşırsınız. Resimdeki her orijinal renk için değerler, hatta griler. Gri 127, 127, 127 beyaz 255, 255, 255 olur. Gri 128, 128, 128 siyah 0, 0, 0 olur. 1930'larda Man Ray tarafından tesadüfen keşfedilen Solarizasyon adı verilen fotoğrafik bir etki vardır.
Ayrıca, bir resmi karışıklığa uğratmak için her bir renkte (kırmızı, yeşil, mavi) farklı işlemlerle rotasyonel işlemler yapabilirsiniz. Ayrıca, her orijinal rengin tonunu, parlaklığı değiştirmeden tüm renkleri değiştiren renk tonu döngüsünde bir miktar değiştirerek renk tonu işlemlerini gerçekleştirebilirsiniz, böylece gölgeler gölgeler gibi görünür, böylece insanlar Örneğin Simpsons veya Şirinler.
public static Color Invert(this Color c) => Color.FromArgb(c.R.Invert(), c.G.Invert(), c.B.Invert());
public static byte Invert(this byte b) {
unchecked {
return (byte)(b + 128);
}
}
Aslında, bu * * bir rengi tersine çevirmenin genellikle tanımlandığı şekilde ... bunun yerine ne arıyorsunuz? –
Renkim 127, 127, 127 olursa, fonksiyonumdan geçersem onu tersine çevirmez .. – ThePower
Belki de verdiğiniz rengin okunabileceği bir arka plan rengi oluşturmalısınız? –