Tek bir kumaş resminin (bir kadın etnik topun, gerçekte görünmesini sağlamak için gölge efektli bir kadın) olduğu bir uygulama oluşturmaya çalışıyorum ve kullanıcının bir renk sekmesini tıklatmasını istiyorum. Sağ taraf, böylece üst rengi değişir, ancak gölge etkisi aynı kalmalıdır.Resmi değiştir hue libgdx
Bunun için libgdx kullanıyorum. Giriş üstündeki görüntüden bir doku oluşturdum ve onu düzeltmek için doğrusal filtre kullandım.
ben üstte yerleştirmek istediğiniz yeni bez geçerli::
Başlangıçta ben hsv uzaya rgb uzaydan gömlek her pikseli dönüştürülmüş gibi özgün üst görünüyor. Ben gömlek dan tonu, yeni kumaştan doygunluğunu ve parlaklığını (onlar düşük parlaklığa sahip, gölgeleri almak zorunda) kullanılan
: Yukarıdaki sorunu ulaşmak için 4 yöntemleri denedik. Buradaki sorun, kumaşın rengi, parlaklığın en düşük olması nedeniyle ışık haline gelmesidir (parlaklık, üstten gelir). Aşağıdaki resmi üretir:
Yeni bezden renk tonu ve doygunluk kullandım ve üst kısımdan parlaklık için bir kesme işlemi yaptım. % 70 kesiktir. Buradaki problem, kumaşın karanlık olduğu zaman gölgelerin net olmadığıdır: her bir pikselde parlaklığı hesaplamak için z-skorunu kullandım. Bluzdaki her pikseldeki parlaklık için z skoru, kumaştaki parlaklığı ayarlamak için kullanılır. Her piksel için z skoru aynı yapılır ve kumaş için parlaklık hesaplar. Bu görüntü de çok kabul edilebilir bakmıyor:
ben yukarıdaki senaryoyu başarmak için kullanması gereken hangi yaklaşım üzerinde bir yardıma ihtiyacım var. Doğru yolda mıyım yoksa tamamen yanlış bir şey yapıyorum. Üstün gerçekçi görünüp görünmediğini görmek için dış rengi çıkarmalı mıyım (arka plan ve üst renk aynı olmuyor, bu gerçek dışı bir sonucun sebebi bu mu?
Gimp bu kurmayı deneyin. Resmi tek bir katmana koyun ve ikinci katmanı bir renkle doldurun. Sonra ne istediğinizi bulana kadar üst katman için farklı karışım seçeneklerini deneyin. Gimp karışım modları için denklemleri çevrimiçi olarak bulabilir ve Sprite'ınızın köşe rengi ile aynı şeyi yapan bir gölgelendirici oluşturmak için seçtiğiniz parçayı kullanabilirsiniz. – Tenfour04
@ Tenfour04 - Yardımlarınız için teşekkürler. Ancak, 50'den fazla yeni kumaşın olduğu durumlarda bu çok manuel olacak ve her hafta yeni bir kumaş çıkıyor. Sadece tıklayarak yeni bir renkli top üretmek isteyen teknik olmayan insanlar için bir sistem oluşturmak istiyorum. Yani libgdx/java kodu içindeki her şeyi kodlamalıyım. Başka bir kütüphane kullanarak olabilir. Hala bunu çözüyorum. –
Sanırım önerimi yanlış anlıyorsunuz. Sonuç, uygulamanızdaki herhangi bir şeyi yeniden yüklemek için kullanabileceğiniz tek bir gölgelendiricidir. – Tenfour04