Jasne tlo w email pod barcode w urzadzeniu z dark mode?

0

Witam,

Generuje QR kody i wysylam je przez email do uzytkownikow. Niektory uzytkownicy maja wlaczony dark mode w telefonach (andorid, iphone etc). Niestety sam kolor QR kodu oraz tlo pod nim moze byc zmienione przez uzytkownika na dowolny. Problem jest tego typu, ze jak wysylam czarny QR kod z bialym tlem to na telefoni nie widac kodu przez dark mode. Sam kod i tlo jest czarne.

Myslalem, ze moze dac margin 3px i biale tlo pod kod. Tylko, ze nie wiedzac czemu to tez nie idzala. Jakies pomysly?

2

Nie rozumiem czegoś. Co ma motyw w telefonie/kompie na wyświetlanie obrazka? Jeśli on nie ma przezroczystości, to kolor tapety/pulpitu nie powinien mieć znaczenia. Wybierasz jakieś 2 kolory - kolor tła oraz kolor kodu QR, dookoła kodu dajesz ramkę na kilka(naście) pikseli w kolorze tła i nieważne, na czym to osadzisz - kod powinien być czytelny.
Jedynie widzę problem, jeśli user sobie sam ustawi kolor tła oraz kodu na bardzo podobne - ale to albo można pilnować i nie pozwolić, albo uznajmy, że jest debilem i to jego problem, że nie działa.

W każdym razie - możesz dać screen, jak wygląda kod w sytuacji, w której nie chce się odczytać? Bo wydaje mi się, że problemem jest coś innego, tło nie powinno przebijać przez kod QR (albo paskowy) wstawiony jako jakiś obrazek JPG/PNG.

0

W sumie w obu narzedziach dark mode (windows and android).

Ten email w gmail na desktop jest ok. Biale tlo oraz czarny qr kod. Wszystko czytelne.
Ten sam email w gmail na andorid ma cale czarne tlo przez dark mode. I qr kod juz sie zlewa z czarnym tlem.

Na razie w email uzywam czegos takiego:

@media (prefers-color-scheme: dark ) {
.qr { background-color: #FFFFFF !important; }
[data-ogsc] .qr { background-color: #FFFFFF !important; }
}

To i tak nie dziala. Wiec nie rozumiem czemu ten qr jest caly czas czarny oraz nie czytelny.

1

A nie możesz tego stylu zapisać inline?

<table>
  <!-- Wstępna część mailingu -->

  <tr>
    <td style="background-color: #fff">
       <!-- Tutaj twój fragment z kodem --> 
    </td>
  </tr>

   <!-- Dolna część mailingu -->
</table>

bo dużo programów pocztowych nie obsługuje @media query, ani wartości prefers-color-scheme.

Na tej stronie https://www.caniemail.com/search/?s=prefers-color-scheme można sprawdzić jakie rzeczy z CSS są mniej więcej obsługiwane.

0

Wlasnie ten inlice CSS tez nie dziala.

<td style="background-color: #fff">
0

@poniatowski:

Dzielnie rozwiązujesz problemy nieznane innym

0

A jak sprawdzic to ? Czy to tez dziala na zasadzie @media tagow?

<meta name="color-scheme" content="light">
1

To ja nadal czegoś nie rozumiem , wysyłasz obraz PNG/JPG/GIF/itp. bez przezroczystości i telefon sobie zmienia kolory ?
Niespotykane !

0
Marius.Maximus napisał(a):

To ja nadal czegoś nie rozumiem , wysyłasz obraz PNG/JPG/GIF/itp. bez przezroczystości i telefon sobie zmienia kolory ?
Niespotykane !

PNG z transparentnym wlem. Ale podnim powinien byc biale tlo z CSS.

<td style="background-color: #fff">

Moge zmienic transparentne tlo do bialego. Ale dlaczego background-color: #fff nie dziala?

1

A próbowałeś wysłać png z białym tłem i czarnym kodem?

0
gajusz800 napisał(a):

A próbowałeś wysłać png z białym tłem i czarnym kodem?

Tak, dziala. Ale czemu sam gb-color nie dziala?

3

Nie rozumiem - skoro masz działający sposób, czyli zrobienie tego porządnie: wstawienie grafiki z określonymi kolorami, co działa - to po co kombinujesz w jakieś przezroczystości, ustawianie w CSS kolorów tła itp. Póki co - nie podałeś żadnego uzasadnienia, czemu tak ma być (poza bo ja tak chcę), więc wygląda to na jakieś masochistyczne skłonności. Tylko to nie jest forum dla wyznawców BDSM, więc zamiast się katować twórczym naprawianiem problemu, którego można łatwo uniknąć, zrób to porządnie i wstaw grafikę tak, jak powinno być i będzie po sprawie.

0

OK, przekonaliscie mnie. Jedyny problem jaki widze ze zmiana koloru w PNG jest taki, ze uzywam jakies starej biblioteki i nie moge zmienic koloru tla, ale moge zmienic kolor pierwszoplanowy. Nie chcialem tego robic, bo nie wiem czy bede w stanie przetestowac czy ten kod QR dalej bedzie tak dzialac. Ale ok, zaraz to ogarne.

Problem jest jeszcze tego typu, ze PHP biblioteki, ktore generuja QR code nie maja mozliwosci zmiany koloru tla pod QR code. Ja obecnie uzywam TCPDF2DBarcode ,ale patrzylem inna i to samo. Dlatego najlatwiej bylo zmienic kolor tla przez <td style="background-color: #fff">. Do tego musze uzyc biblioteki, ktora generuje 4 kody tj code 39, code 128, PDF 417 and QR code. I ta biblioteka TCPDF ogarnia to wszystkie kody, tylko nie ma mozliwosc zmiany tego transparentnego tla. Ale moze zaraz cos znajde...

2

@poniatowski twórca QR pewnie założył że jak chcesz tło to sam je sobie dodasz (co wydaje się rozsądne) .

Dodanie tła jest zazwyczaj banalnie proste w kazdej blbliotece o ile się ją choć tochę zna
(Zawsze można przepisać pixele i tylko poprawić ALPHA)

1

Z której metody korzystasz? Bo tam jak kojarzę to albo wykorzystywało GD albo Imagick.
Przy Imagick możesz tło dodać chyba bez probelmu lub ewentualnie napisać małego wrapera który by to robił

1

Fakt, dalo rade ogarnoc zmiane koloru przez kilka funkcji imagecreatetruecolor() , imagecolorallocate.

1 użytkowników online, w tym zalogowanych: 0, gości: 1