ugrás a tartalomhoz

"Árnyék mentése"

mahoo · 2012. Ápr. 20. (P), 11.04
Sziasztok!

Következő lenne a problémám:
- adott egy fotó amiből van egy piros és egy sárga verzió.
- kérdésem, hogy pl. PhotoShop-pal vagy bármilyen más eszközzel meg oldható-e egy olyan áttetsző kép mentése, amit ráhúzva egy egy adott háttérszínű div-re, 'kirajzolja' az adott képet, ezáltal tetszőlegesen állítható lenne egy fotó színe.

Elnézést, ha nem voltam elég szakmai, de jobban nem tudtam most megfogalmazni...
 
1

Nincs

Poetro · 2012. Ápr. 20. (P), 11.11
Ez pusztán HTML-lel nem megoldható. Kell hozzá vagy egy programozott canvas. Ezzel kiolvasod a kép adatait, majd átszínezed.
2

Tehát akkor hibás az a

mahoo · 2012. Ápr. 20. (P), 11.21
Tehát akkor hibás az a feltételezés részemről, hogy bármilyen árnyékos/megvilágított kép előállítható egy homogén háttérszínből és egy fölé helyezett szürkeátmenetes áttetsző képből?!

Ha igen, akkor ennek a színelőállítási eljárásnak van valami speciális neve, amire rákereshetek?
3

szürkeárnyalatos kép

bonga · 2012. Ápr. 20. (P), 11.40
Szürkeárnyalatos kép esetén a színek RGB összetevői ugyanazt az értéket tartalmazzák, ettől szürke. Ha ezt piros átmenetessé akarod tenni, akkor az összes szín R összetevőjét meghagyod, a GB összetevőket meg kinullázod. Ha sárgává akarod tenni, akkor meghagyod az RG összetevőt, a B összetevőt pedig nullázod.
4

Mi is a kérdés?

Endyl · 2012. Ápr. 20. (P), 12.11
Ha az a kérdésed, hogy ha van egy áttetsző, szürkeárnyalatos képed, és azt egy homogén háttérszín felé rakod, akkor az adott színben kirajzolja-e a szürkeárnyalatos mintát, akkor a válasz igen. Csak egymás alá, fölé kell pozícionálni a két képet/taget a megfelelő sorrendben.

Ha az a kérdés, hogy egy képből hogyan nyered ki az árnyékos körvonalát egy szürkeárnyalatos áttetsző png-be, abban sajnos én nem tudok segíteni, de valahogy biztosan megoldható.

Szóval, ha valamilyen úton-módon készítesz egy megfelelő png-t, akkor az különböző háttérszínek fölött különböző színben fog kirajzolódni. Extra div sem szükséges (hacsak nem cél, hogy ide-oda mozgatható legyen a kép), elég akár az img-nek háttérszínt adni.
5

+1 alpha legyen, oszt

szabo.b.gabor · 2012. Ápr. 20. (P), 12.15
+1

alpha legyen, oszt jónapot
7

És mit kellene azzal

mahoo · 2012. Ápr. 20. (P), 12.18
És mit kellene azzal csinálnom, mire gondoltál?
6

Pontosan arra gondoltam amit

mahoo · 2012. Ápr. 20. (P), 12.17
Pontosan arra gondoltam amit írtál!

Azaz számomra nagyon jó hír amit az első bekezdésedben írtál!!

És igen, nekem is fehér folt, hogy hogyan tudnám kimenteni a megfelelő png-t.
Ha van valakinek 5lete, kérem ossza meg.
8

Ha a linkelt képről van szó

Endyl · 2012. Ápr. 20. (P), 12.56
Ha a linkelt képről van szó és nem cél a 100% megegyezés, akkor azt javaslom, hogy tartsd meg csak a körvonalát, változtasd egyszínűvé, majd a rétegnek adj valamilyen drop shadow/bevel/emboss stílust vagy ezeknek keverékét igény szerint és ments az effektekből egy szürkeárnyalatos áttetsző képet.

Hogy ezt hogyan lehet megoldani, azt megkérdezheted a kedvenc internetes keresődtől, ugyanis vannak remek részletes tutorialok a különböző, ezzel foglalkozó oldalakon.
9

Köszönöm a válaszokat,

mahoo · 2012. Ápr. 20. (P), 14.02
Köszönöm a válaszokat, próbálkozom...
10

Válogasd ki

Pepita · 2012. Ápr. 22. (V), 18.30
Úgy gondolom, Poetro válasza a legpontosabb, de - attól függően, mi a konkrét cél - a többi hozzászólás is hasznos infókat rejt.

1. Kiindulásnak valóban egy szürkeárnyalatos kép kell (lehetőleg részben áttetsző).
2. Ha nem kell olyan (látvány-)végeredmény, amit Bonga írt, miszerint a "piros alma" csak "R" összetevőket tartalmaz, a "G" és "B" mindig 0, akkor egyszerűen szabo.b.gabor és Endyl megoldását használhatod (ha erre gondoltak), miszerint a kép elé teszed a kívánt színt (pl. rgb(255,0,0)) és beállítasz a színnek átlátszóságot: opacity: 0.5; filter: alpha(opacity=50);. Így látványra hasonlót kapsz, de szerintem a böngészők 50% áttetszés esetén mindhárom színösszetevőnél a két kép átlagát jelenítik meg, tehát nem lesz 0 a G és B. Ennél a megoldásnál szerintem az a jobb, ha a kép elé teszed a színt (a kép z-indexe a kisebb), így nem kell a képnek átlátszónak lenni, és talán a fekete fekete is lesz. (De a fehér nem lesz fehér.)
3. Ha az a célod (bár miért lenne az), hogy egy szürkeárnyalatos kép három színösszetevője közül kettőt "kinullázz", akkor két javaslat:
3.1. Csináld meg előre mind a négy (három) képet és kattintásra válts közöttük; vagy
3.2. Szerveroldalon (pl. a kép feltöltésekor) alakítsd át a képet előbb szürkeárnyalatosra, ezt mentheted már palettás (256 színű) képként (mert ugye R=G=B), ezután a többi kép létrehozásához már csak a szürke palettáját kell módosítgatni. Szerintem Poetro ilyesféle képátalakításra gondolt, csak ő a kliens oldalon, canvas objektumban.

Főként Bonga számára jegyzem meg, hogy se a piros, se a sárga alma esetében nem helytálló, hogy a három összetevőből bármelyik is "mindig 0". Akkor nem lehetne rajtuk fehér szín. Inkább az a helyes megfogalmazás, hogy az árnyalat alapszíne és a szürke fényereje adja meg az adott színt. (A piros alma esetében a G és B szinte sosem 0, de R-hez való arányuk is a fényerő függvénye.)

Asszem a grafikusok korrepetálhatnának (engem/minket) a képek matekjából.
11

Túlbonyolítod

Endyl · 2012. Ápr. 23. (H), 12.12
Csak kell egy szürkeárnyalatos áttetsző png, ami kirajzolja az ábrát. Ebben lehet akár fehér is, így bármilyen árnyékot és csillogást kirajzolhatsz. Majd ez a kép mögé raksz színt. Így elérhető a kívánt hatás.
Valamint, ha csak különböző fokú áttetsző feketét használsz, akkor az eredményként kapott képnek, ha a háttérszén piros mondjuk, akkor csak R összetevője lesz, G és B végig nulla marad. Ha szürkét, vagy fehéret teszel az árnyékot kirajzoló képbe, abban lesz -a világosság miatt- egyező mértékű G és B összetevő is.

Összedobtam egy példát, lehet próbálgatni a kép háttérszínének állítását a htmlben.