Перетворіть зображення в масштаб сірого в HTML / CSS


619

Чи є простий спосіб відобразити кольоровий растровий малюнок у відтінках сірого HTML/CSS?

Це не повинно бути сумісним IE (і я думаю, це не буде) - якщо він працює у FF3 та / або Sf3, це для мене досить добре.

Я знаю, що можу це зробити і з SVGі Canvas, але, здається, зараз дуже багато роботи.

Чи є справді ледачий спосіб зробити це?


14
"Це не повинно бути сумісним IE (і я думаю, це не буде)" ?? IE пропонує набір DX-фільтрів з 1997 року (IE4), що робить цю роботу просто CSS та багато іншого. Тепер вони скинули DX-фільтри в IE10 і суворо дотримуються стандартних фільтрів на основі SVG. Ви можете захотіти поглянути на це і це демо .
вулкан ворон

8
@vulcanraven Насправді це не просто «CSS» - якщо вимкнути активний сценарій в IE, фільтри перестають працювати.
robertc

3
@robertc, ось так. На відміну від цього, якщо ви відключите javascript у будь-якому браузері, майже кожен RIA, включаючи Stackoverflow, припинить свою роботу (якщо тільки веб-розробник не реалізував резервну версію лише для HTML).
вулкан ворон

2
Просто використовуйте CSS stackoverflow.com/questions/286275/gray-out-image-with-css/… Отримайте мою відповідь на це запитання
Sakata Gintoki

Відповіді:


728

Підтримка фільтрів CSS висаджена у Webkit. Таким чином, у нас зараз є рішення для крос-браузера.

img {
  filter: gray; /* IE6-9 */
  -webkit-filter: grayscale(1); /* Google Chrome, Safari 6+ & Opera 15+ */
  filter: grayscale(1); /* Microsoft Edge and Firefox 35+ */
}

/* Disable grayscale on hover */
img:hover {
  -webkit-filter: grayscale(0);
  filter: none;
}
<img src="http://lorempixel.com/400/200/">


Що з Internet Explorer 10?

Можна використовувати поліфіл, як сірий .


1
@CamiloMartin CSS-фільтри підтримуються лише Chrome 18+
Salman von Abbas

2
Оновлення: остання стабільна версія Google Chrome (19) тепер підтримує фільтри CSS. Так! =)
Салман фон Аббас

6
Чи є рішення для Opera?
Рустам

23
Отже, яке рішення для IE10?
Том Ожер

2
Для нащадків: @TomAuger, ця запитання містить конкретні інструкції для IE10.
Барні

127

Виходячи з відповіді brillout.com , а також відповіді Романа Нурика та дещо розслабивши вимогу "без SVG", ви можете знецінити зображення у Firefox, використовуючи лише один SVG-файл та деякі CSS.

Ваш SVG-файл буде виглядати приблизно так:

<?xml version="1.0" encoding="UTF-8"?>
<svg version="1.1"
     baseProfile="full"
     xmlns="http://www.w3.org/2000/svg">
    <filter id="desaturate">
        <feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0
                                             0.3333 0.3333 0.3333 0 0
                                             0.3333 0.3333 0.3333 0 0
                                             0      0      0      1 0"/>
    </filter>
</svg>

Збережіть це як resource.svg, відтепер його можна повторно використовувати для будь-якого зображення, яке ви хочете змінити на відтінки сірого.

У своєму CSS ви посилаєтесь на фільтр, використовуючи специфічну filterвластивість Firefox :

.target {
    filter: url(resources.svg#desaturate);
}

Додайте також і власні MS, якщо вам це здається, застосуйте цей клас до будь-якого зображення, яке ви хочете перетворити в масштаб сірого (працює в Firefox> 3.5, IE8) .

редагувати : Ось приємна публікація в блозі, в якій описано використання нового filterвластивості CSS3 у відповіді SalmanPK у відповідності з описаним тут підходом SVG. Використовуючи такий підхід, ви закінчите щось подібне:

img.desaturate{
    filter: gray; /* IE */
    -webkit-filter: grayscale(1); /* Old WebKit */
    -webkit-filter: grayscale(100%); /* New WebKit */
    filter: url(resources.svg#desaturate); /* older Firefox */
    filter: grayscale(100%); /* Current draft standard */
}

Додаткову інформацію про підтримку браузера тут .


6
У веб-програмі ви робите це: -webkit-filter: grayscale(100%);потім це: -webkit-filter: grayscale(0);щоб видалити його.
SeanJA

@SeanJA Дякую за оновлення, WebKit почав реалізовувати цей матеріал у грудні
robertc

Я бачу це в хромованій бета версії як на моєму ноутбуці Linux, так і на моїй машині win7. Здавалося, він не працює в стабільному хромовому режимі в Linux (але знову ж таки, можливо, що версія Linux знаходиться за вікнами ').
SeanJA

1
Цей метод добре працює для Chrome, але не має ефекту в Safari. У FF це робить мої зображення невидимими до наведення курсора.
колмтуайт

85

Для Firefox вам не потрібно створювати файл filter.svg, ви можете використовувати схему URI даних .

Здійснення коду css першої відповіді дає:

filter: url("data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg'><filter%20id='grayscale'><feColorMatrix%20type='matrix'%20values='0.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200%200%200%201%200'/></filter></svg>#grayscale"); /* Firefox 3.5+ */
filter: grayscale(100%); /* Current draft standard */
-webkit-filter: grayscale(100%); /* New WebKit */
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%); 
-o-filter: grayscale(100%);
filter: gray; /* IE6+ */

Не забудьте замінити рядок "utf-8" кодуванням вашого файлу.

Цей метод повинен бути швидшим, ніж інший, оскільки браузеру не потрібно буде робити другий HTTP-запит.


3
Лише примітка для збереження головного болю: YUI Compressor позбавляє пробілів у URL-адресах даних. Тож ви можете скористатися іншим мініфікатором, якщо хочете використовувати це рішення.
Мальте

6
@Malte Чи може просто замінити пробіли рядком "% 20"?
mquandalle

@mquandalle, на жаль, IE10 не підтримує фільтр: сірий blogs.msdn.com/b/ie/archive/2011/12/07/…
Jedi.za

1
На firefox мій сірий дуже світлий. Чи є спосіб збільшити контраст або трохи затемнити його? Інші браузери виглядають чудово.
square_eyes

27

Оновлення: я перетворив це на повне репортаж GitHub, включаючи поліфілінг JavaScript для IE10 та IE11: https://github.com/karlhorky/gray

Спочатку я використовував відповідь SalmanPK , але потім створив варіант нижче, щоб усунути зайвий HTTP-запит, необхідний для SVG-файлу. Вбудований SVG працює у версіях Firefox 10 і вище, а версії нижче 10 більше не становлять навіть 1% світового ринку браузерів.

З цього часу я постійно оновлював рішення в цій публікації блогу , додаючи підтримку для відмирання кольору до кольорів, підтримку IE 10/11 зі SVG та часткову градацію сірого в демонстраційній версії.

img.grayscale {
  /* Firefox 10+, Firefox on Android */
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0'/></filter></svg>#grayscale");

  /* IE 6-9 */
  filter: gray;

  /* Chrome 19+, Safari 6+, Safari 6+ iOS */
  -webkit-filter: grayscale(100%);
}

img.grayscale.disabled {
  filter: none;
  -webkit-filter: grayscale(0%);
}

14

Якщо ви можете використовувати JavaScript, то цей сценарій може бути тим, що ви шукаєте. Він працює крос-браузер і працює для мене чудово до цих пір. Ви не можете використовувати його із зображеннями, завантаженими з іншого домену.

http://james.padolsey.com/demos/grayscale/


11

Просто отримала таку ж проблему сьогодні. Я спочатку використовував рішення SalmanPK, але виявив, що ефект відрізняється між FF та іншими браузерами. Це тому, що матриця перетворення працює на легкість, а не на світність, як фільтри в Chrome / IE. На мій подив, я дізнався, що альтернативне та простіше рішення у SVG також працює у FF4 + та дає кращі результати:

<svg xmlns="http://www.w3.org/2000/svg">
  <filter id="desaturate">
    <feColorMatrix type="saturate" values="0"/>
  </filter>
</svg>

З css:

img {
    filter: url(filters.svg#desaturate); /* Firefox 3.5+ */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(1); /* Google Chrome & Safari 6+ */
}

Ще одним застереженням є те, що IE10 вже не підтримує функцію "filter: grey:" у режимі, сумісному зі стандартами, тому для роботи потрібен перемикач режиму сумісності в заголовках:

<meta http-equiv="X-UA-Compatible" content="IE=9" />

2
Здається, краще, простіше рішення - було б добре, якби SalmanPK та mquandalle оновили свої рішення щодо цього. Мабуть, матриця, яку вони використовують , порушена <br> <br> Ось версія вбудованих даних: filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'saturate\' values=\'0\'/></filter></svg>#grayscale");
psdie

11

Найпростіший спосіб досягти масштабу сірого лише за допомогою CSS - через filterвласність.

img {
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

Властивість досі не підтримується повністю, і все ще потрібна -webkit-filterдля підтримки в усіх веб-переглядачах.


7

Не здається, що це можливо (поки що), навіть із CSS3 або власними -webkit-або -moz-CSS властивостями.

Однак я знайшов цю публікацію з червня минулого року, яка використовувала SVG-фільтри на HTML. Недоступний у будь-якому поточному веб-переглядачі (демонстрація натякає на власну збірку WebKit), але дуже вражає як доказ концепції.


7

Люди, які запитують про ігноровану підтримку IE10 + в інших відповідях, перегляньте цей фрагмент CSS:

img.grayscale:hover {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
}

svg {
    background:url(http://4.bp.blogspot.com/-IzPWLqY4gJ0/T01CPzNb1KI/AAAAAAAACgA/_8uyj68QhFE/s400/a2cf7051-5952-4b39-aca3-4481976cb242.jpg);
}

svg image:hover {
    opacity: 0;
}

Застосовано до цієї розмітки:

<!DOCTYPE HTML>
<html>
<head>

    <title>Grayscaling in Internet Explorer 10+</title>

</head>
<body>

    <p>IE10 with inline SVG</p>
    <svg xmlns="http://www.w3.org/2000/svg" id="svgroot" viewBox="0 0 400 377" width="400" height="377">
      <defs>
         <filter id="filtersPicture">
           <feComposite result="inputTo_38" in="SourceGraphic" in2="SourceGraphic" operator="arithmetic" k1="0" k2="1" k3="0" k4="0" />
           <feColorMatrix id="filter_38" type="saturate" values="0" data-filterid="38" />
        </filter>
      </defs>
      <image filter="url(&quot;#filtersPicture&quot;)" x="0" y="0" width="400" height="377" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://4.bp.blogspot.com/-IzPWLqY4gJ0/T01CPzNb1KI/AAAAAAAACgA/_8uyj68QhFE/s1600/a2cf7051-5952-4b39-aca3-4481976cb242.jpg" />
    </svg>

</body>
</html>

Щоб отримати додаткові демонстрації, перегляньте розділ CSS3 Graphics IE testdrive та цей старий блог IE http://blogs.msdn.com/b/ie/archive/2011/10/14/svg-filter-effects-in-ie10.aspx


7

В Internet Explorer використовуйте властивість фільтра.

У веб-програмі та Firefox наразі немає можливості десантувати зображення виключно за допомогою CSS. тому для рішення клієнта вам потрібно буде використовувати або канву, або SVG.

Але я думаю, що використовувати SVG є більш елегантним. перегляньте мій пост у блозі щодо рішення SVG, яке працює як для Firefox, так і для веб-сайту: http://webdev.brillout.com/2010/10/desaturate-image-without-javascript.html

І строго кажучи, оскільки SVG - HTML, рішення - це чистий html + css :-)


привіт брилеут. Я помітив, що ваші відтінки сірого насправді провалюються на сафарі. Будь-яке спостереження? Спасибі
лебедя

1
SVG не є HTML. Це зовсім інша специфікація.
Каміло Мартін


1
@robertc Це посилання стосується введення SVG в HTML, але ось специфікація SVG і ось специфікація HTML . Те, що обидва схожі між собою (або, як XML), не означає, що вони однакові ...
Camilo Martin

1
Але він посилається на специфікацію SVG у посиланні ... Він не визначає SVG, просто говорить, що браузери повинні його аналізувати. Це як Javascript або CSS в цьому плані.
Каміло Мартін

6

Новий спосіб зробити це вже деякий час доступний у сучасних браузерах.

background-blend-mode дозволяє отримати цікаві ефекти, і одним з них є перетворення сірого масштабу

Значення освітленості , встановлене на білому тлі, дозволяє це. (наведіть курсор, щоб побачити його сірим кольором)

.test {
  width: 300px;
  height: 200px;
    background: url("http://placekitten.com/1000/750"), white; 
    background-size: cover;
}

.test:hover {
    background-blend-mode: luminosity;
}
<div class="test"></div>

Світлість береться із зображення, колір - із фону. Оскільки він завжди білий, кольору немає.

Але це дозволяє набагато більше.

Можна анімувати налаштування ефекту в 3 шари. Перший - зображення, а другий - біло-чорний градієнт. Якщо застосувати для цього режим множення суміші, ви отримаєте білий результат, як і раніше, на білій частині, але вихідне зображення на чорній частині (множення на біле дає біле, множення на чорне не має ефекту).

На білій частині градієнта ви отримуєте такий же ефект, як і раніше. На чорній частині градієнта ви змішуєте зображення над собою, і результат - немодифіковане зображення.

Тепер все, що потрібно, - це перемістити градієнт, щоб цей ефект був динамічним: (наведіть курсор, щоб побачити його в кольорі)

div {
    width: 600px;
    height: 400px;
}

.test {
    background: url("http://placekitten.com/1000/750"), 
linear-gradient(0deg, white 33%, black 66%), url("http://placekitten.com/1000/750"); 
    background-position: 0px 0px, 0px 0%, 0px 0px;
    background-size: cover, 100% 300%, cover;
    background-blend-mode: luminosity, multiply;
    transition: all 2s;
}

.test:hover {
    background-position: 0px 0px, 0px 66%, 0px 0px;
}
<div class="test"></div>

довідник

матриця сумісності


1
@Andy Я почав свою відповідь, кажучи в сучасних браузерах
vals

Як можна застосувати imgтег , якщо для зображення використовується тег неbackground: url()
Мохаммед Ельбанна

1
@MohammadElbanna Вам потрібно використовувати режим мікс-бленд замість фонового-блендингового режиму
vals

5
img {
    -webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
    filter: grayscale(100%);
}

4

Можливо, цей спосіб вам допоможе

img {
    -webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
    filter: grayscale(100%);
}

w3schools.org


3

Насправді це простіше зробити з IE, якщо я пам'ятаю правильно, використовуючи власні властивості CSS. Спробуйте це FILTER: Grayз http://www.ssi-developer.net/css/visual-filters.shtml

Метод Ax просто робить зображення прозорим і має чорний фон за ним. Я впевнений, що ви можете стверджувати, що це відтінки сірого.

Хоча ви не хотіли використовувати Javascript, я думаю, вам доведеться ним користуватися. Ви також можете використовувати мову серверної мови для цього.


У мене навіть немає вікна Windows, тож спасибі, але це мені мало корисно.
Кен

У такому випадку ви можете подивитися на це за допомогою віртуальної машини з IE, застосувати метод ax або використовувати полотно ... зауважте, що сірий масштабування великих зображень полотном може бути дуже оподатковуючим механізмом Javascript.
alex

7
filter: grayприсутній в Internet Explorer з версії 4 . Вони взяли багато лайно для свого продукту - правильно! - але вони справді випереджали цей час
Pekka

2

Якщо ви готові використовувати Javascript, тоді ви можете використовувати полотно для перетворення зображення в відтінки сірого. Оскільки Firefox і Safari підтримують <canvas>, це має працювати.

Тож я переглянув "полотно сірого кольору", і першим результатом було http://www.permadi.com/tutorial/jsCanvasGrayscale/index.html, яке, здається, працює.


2

підтримка нативних CSS-фільтрів у веб-програмі додана з поточної версії 19.0.1084.46

так -webkit-filter: відтінки сірого (1) працюватимуть, а це простіше, ніж підхід SVG для веб-файлів ...


2

Ось міксин для МЕНШЕ, який дозволить вам вибрати будь-яку непрозорість. Заповніть самі змінні для звичайного CSS у різних відсотках.

Тут акуратний натяк , він використовує тип насичення для матриці, тому вам не потрібно робити нічого фантазійного, щоб змінити відсоток.

.saturate(@value:0) {
    @percent: percentage(@value);

    filter: url("data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg'><filter%20id='grayscale'><feColorMatrix%20type='saturate'%20values='@value'/></filter></svg>#grayscale"); /* Firefox 3.5+ */
    filter: grayscale(@percent); /* Current draft standard */
    -webkit-filter: grayscale(@percent); /* New WebKit */
    -moz-filter: grayscale(@percent);
    -ms-filter: grayscale(@percent);
    -o-filter: grayscale(@percent);
}

Потім використовуйте його:

img.desaturate {
    transition: all 0.2s linear;
    .saturate(0);
    &:hover {
        .saturate(1);
    }
}

2

Для повного використання вам не потрібно використовувати стільки префіксів, оскільки якщо ви виберете префікс для старого Firefox, вам не потрібно використовувати префікс для нового Firefox.

Тож для повного використання достатньо використовувати цей код:

img.grayscale {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE6-9 */
    -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
}

img.grayscale.disabled {
    filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'1 0 0 0 0, 0 1 0 0 0, 0 0 1 0 0, 0 0 0 1 0\'/></filter></svg>#grayscale");
    filter: none;
    -webkit-filter: grayscale(0%);
}

2

Як доповнення до відповідей інших, можна знецінити зображення на півдорозі на FF без головних болів матриці SVG :

<feColorMatrix type="saturate" values="$v" />

Де $vзнаходиться між 0і 1. Це рівнозначноfilter:grayscale(50%); .

Живий приклад:

Довідка про MDN


1

На основі відповіді Робертка :

Для отримання належної конверсії з кольорового зображення в зображення в градаціях сірого замість використання такої матриці:

0.3333 0.3333 0.3333 0 0
0.3333 0.3333 0.3333 0 0
0.3333 0.3333 0.3333 0 0
0      0      0      1 0

Ви повинні використовувати матрицю конверсії таким чином:

0.299 0.299 0.299 0
0.587 0.587 0.587 0
0.112 0.112 0.112 0
0     0     0     1

Це має чудово працювати для всіх типів зображень на основі моделі RGBA (червоно-зелений-синій-альфа).

Для отримання додаткової інформації, чому ви повинні використовувати матрицю, я розмістив більше шансів на те, що robertc перевіряє наступні посилання:


Я згоден 0,3333 - це неправильно; 0.2126 0.7152 0.0722 0 0видається еквівалентом<fecolormatrix type="saturate" values="0">
Ніл

Посилання на "І тут ви можете знайти коди C # та VB" можна знайти в інтернет-архіві тут: web.archive.org/web/20110220101001/http://www.bobpowell.net/…
thisgeek

Посилання на "Сигнали яскравості та різниці кольорів" також порушені. Я не зміг знайти заміну.
thisgeek

0

Одне жахливе, але працездатне рішення: візуалізуйте зображення за допомогою об'єкта Flash, який надає вам усі можливі перетворення у Flash.

Якщо ваші користувачі використовують спливав кров'ю краю браузерів і якщо Firefox 3.5 і Safari підтримка 4 це (я не знаю , що або зробити / буде), ви можете налаштувати CSS колірного профілю атрибут зображення, встановивши його в відтінках сірого ICC URL-адреса профілю. Але це дуже багато!


0

бути альтернативою для старшого браузера може бути використання маски, створеної псевдоелементами або вбудованими тегами.

Абсолютне позиціонування наведіть зображення (або область тексту, яка не потребує ні клацання, ні виділення), може тісно імітувати ефекти кольорової гами за допомогою rgba () або translucide png .

Це не дасть однієї кольорової гами, але відтінить колір поза діапазоном.

тест на кодову ручку з 10 різними кольорами через псевдоелемент, останній - сірий. http://codepen.io/gcyrillus/pen/nqpDd (перезавантажте для переключення на інше зображення)



0

Спробуйте цей плагін jquery. Хоча це не чисте рішення для HTML та CSS, але це ледачий спосіб досягти того, що ви хочете. Ви можете налаштувати свій відтінок сірого, щоб він найкраще відповідав вашому використанню. Використовуйте його наступним чином:

$("#myImageID").tancolor();

Є інтерактив демонстрація . Ви можете пограти з цим.

Перегляньте документацію щодо використання, це досить просто. док


0

Для масштабу сірого у відсотках у Firefox замість цього використовуйте фільтр насичення : (пошук "насичення")

filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='saturate'><feColorMatrix in='SourceGraphic' type='saturate' values='0.2' /></filter></svg>#saturate"

-1

Якщо ви або хтось, хто зіткнувся з подібною проблемою в майбутньому, ви відкриті для PHP. (Я знаю, ви сказали HTML / CSS, але, можливо, ви вже використовуєте PHP в бекенді) Ось рішення PHP:

Я отримав це з бібліотеки PHP GD і додав змінну для автоматизації процесу ...

<?php
$img = @imagecreatefromgif("php.gif");

if ($img) $img_height = imagesy($img);
if ($img) $img_width = imagesx($img);

// Create image instances
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Copy and merge - Gray = 20%
imagecopymergegray($dest, $src, 0, 0, 0, 0, $img_width, $img_height, 20);

// Output and free from memory
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);

?>

4
@Tom, грунтуючись на голосах та фаворитах на первісному питанні, ОП - не єдина людина, яка замислювалася про те, чи можливо це. Звичайно, ця відповідь може звести правила, але я не бачу сенсу в тому, щоб схилити відповідь, яка може бути корисною багатьом людям.
Майкл Мартін-Смукер

1
@ Том, я хоч і не може бути точною відповіддю на питання, але це може стати в нагоді, оскільки насправді "вирішує" проблему сірого масштабу без "клопоту" JavaScript, можливо, він навіть не розглядав і не знав про PHP ГД, ніякої шкоди не передбачається. @ mlms13 саме в цьому справа, дякую :)
Trufa

Це моя погана, "думка" про те, що інші користувачі можуть отримати користь від цієї публікації, що вислизнула з моєї думки. Вибачення @Trufa.
поштовх

3
Це мені допомогло, і я поставив мене на правильний шлях після кількох інших тупиків. Я виявив, що використовуючи "imagefilter ($ source, IMG_FILTER_GRAYSCALE);" Хоча це дало набагато кращий результат. (Лише для PHP 5)
chrismacp

5
Проголосували проти, оскільки це практично поза темою. Масштабування масштабів зображення на стороні сервера абсолютно відрізняється від CSS / HTML.
Саймон Штейнбергер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.