Математически въпрос.

gLaVoReZa

Registered
Здравейте,

искам да превърна видимост (opacity), където 0 е напълно прозрачно, а 100 е напълно видимо, в 7-bit alpha transparency, където 0 е напълно видимо, а 127 е напълно прозрачно. Тоест е обърнато. Transparency (прозрачност) е противоположното на opacity (видимост).

Примерно имам видимост 75% и искам да я конвертирам в стойност на alpha канал, само че не такъв от 0 до 255 (8-битов), а от 0 до 127 (т.е. 7-битов).

По-добре не мога да го обясня.
 
Не ми трябват 75% от 127.

Ето ти прост пример.

Имаме контролен панел, в който потребителят избира едно нещо колко процента да е видимо. Това нещо ще е изображение, което ще се генерира с PHP GD.

Проблемът е, че тази библиотека не работи с видимост в проценти, съответно от 0 до 100, а работи със стойности от 0 до 127, които освен това са и обърнати. Под обърнати разбирай, че при видимостта с проценти 0% означава, че даденото нещо ще е напълно прозрачно, а при PHP GD ако зададеш 0, ще е напълно видимо, респективно 127 означава, че ще е напълно прозрачно и е еквивалент на 0, ако е в проценти.

Целта е да взема видимостта, която е в проценти от 0 до 100, от контролния панел, и след това да я конвертирам така, че да получа съответната стойност, която мога да ползвам в PHP GD за да генерирам PNG изображение.
 
Ако съм те разбрал както трябва правиш следното:
1. Потребителя избира 20%, но на теб ти трябва 100-20 т.е. 80%, защото стойностите ще бъдат обърнати.
2. Намериш колко е 80% от 127

Това е би трябвало да работи
 
Мда, и аз го мислих така, ама ми се стори, че ще излизат грешни стойности. Обаче сега като тествам скрипта и си работи супер.

Давам ти точка.
 
gLaVoReZa каза:
Мда, и аз го мислих така, ама ми се стори, че ще излизат грешни стойности. Обаче сега като тествам скрипта и си работи супер.

Давам ти точка.

Реално погледнато като се работи в проценти няма как да се изкарват грешни стойности, така или иначе от 127 вадиш някакъв процент като се знае, че 0 е 0% , а 127 е 100% .
 

Back
Горе