Intereting Posts
авто-инжектированная модель Laravel не имеет атрибутов Запись CSV в файл без корпусов в PHP Автоматическое обновление с помощью ajax / jQuery после первоначальной формы submit, затем изменение названия страницы Как распечатать точный sql-запрос в zend framework? Записывает ли HTTPS данные POST? Laravel 4 – Route :: resource vs Route :: controller. Что использовать? Помимо пробелов, что еще может вызывать ошибки «заголовки, уже отправленные» в PHP Как безопасно хранить конфиденциальные данные в базе данных MySQL? Как зашифровать с помощью MCRYPT_ARCFOUR в WAMP? Что означает поставщик в структуре веб-файла? TCPDF не отображает китайский на Linux-клиенте call_user_func () ожидает, что параметр 1 будет действительным обратным вызовом родители, дети, рекурсивный список и структура метода Как отключить изображение в php Предупреждение: mysql_result () : невозможно перейти к строке 0 по индексу результата MySQL 5 в файле profile.php в строке 11

нужны идеи, чтобы отображать только некоторые пиксели и выделять оставшиеся пиксели

Я ищу идеи … мозговой штурм нового проекта для клиента …. У меня есть изображение … 300px x 300px … Мне нужно отображать изображение по одному случайному пикселю за раз, пока все изображение не будет выявлено.

В принципе, через определенные промежутки времени пиксель обнаруживается и остается открытым, в то время как другие пиксели остаются пустыми. На каждом интервале обнаруживается другой пиксель в случайном порядке и остается открытым для присоединения к другим обнаруженным пикселям. В конце концов все пиксели будут обнаружены.

Любые предложения о том, как это сделать?

Я мог бы сделать многочисленные копии изображения и вручную выявить один случайный пиксель, но, безусловно, это можно сделать программно 🙂

О, и это не может быть какой-либо формой вспышки.

EDIT: Я понимаю, что я неправильно интерпретировал то, что вам нужно было сделать, но я подумал, что это здорово, и может быть применено к вашей проблеме …

См. Рабочую демонстрацию следующего →

Я бросил это вместе в jQuery. Я сделал каждый пиксель на самом деле полем 3×3, потому что иначе он слишком долго обрабатывался. Кажется, что это работает на стороне клиента, но я еще не тестировал IE.

<div id="w"> <img id="i" src="yourImage.jpg" width="300" height="300" /> </div> $('#w').css({ width: $('#i').width(), height: $('#i').height() }); var htmlFrag = '', id, ids = [], removePix = function () { if (ids.length) { var rand = Math.floor(Math.random()*ids.length); $('#'+ids[rand]).fadeOut(function(){ $(this).remove(); }); ids = ids.slice(0, rand).concat(ids.slice(rand+1)); setTimeout(removePix, 1); } }; for (var i = 0, len = $('#i').height(); i < len; i += 3) { for (var j = 0, len = $('#i').width(); j < len; j += 3) { id = 'pix'+j+'-'+i; ids.push(id); htmlFrag += '<div id="'+id+'" class="pix" ' + 'style="width:3px;height:3px;position:absolute;' + 'left:'+j+'px;top:'+i+'px;"></div>'; } } $('#w').html($('#w').html() + htmlFrag); removePix(); 

См. Рабочий пример →

  1. Загрузите файл изображения в ресурс изображения ( imagecreatefrompng , imagecreatefromgif и т. Д.).

  2. Определите, какие пиксели будут отображаться, используя rand () или, тем не менее, вы хотите их выбрать.

  3. Настройте петлю на каждый пиксель изображения, и если это не тот, который вы выбрали, покрасьте его в серый цвет с помощью imagesetpixel .