Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.11.2012, 01:26
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 1  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
По умолчанию Корректный цвет пикселя

Имеется некое изображение и код
Код AS3:
package 
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
 
	/**
	 * ...
	 * @author TanaTiX
	 */
	public class Main extends Sprite 
	{
		[Embed(source = "../lib/attachment.jpg")]
		public var _Image:Class;
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			var bmd:BitmapData = (new _Image() as Bitmap).bitmapData;
 
			var i:int = 0;
 
			for (var j:int = 0; j < bmd.width; j++) 
			{
				for (var k:int = 0; k < bmd.height; k++) 
				{
					if (bmd.getPixel(j, k) == 0xffffff) {
						trace(j, k);
						i++;
					}
				}
			}
			trace(i);
		}
 
	}
 
}
Предназначение кода - проверить цвета пикселей, найти абсолютно белый, вывести его координаты и подсчитать количество таких пикселей. Все работает, выдает результаты, вроде как похожие на правду. Но когда стал проверять в ФШ обнаружил не соответствие: некоторые пиксели, которые код определяет как белые (0xFFFFFF) являются не совсем белыми, и наоборот, есть пиксели, которые программа не распознала как белые, а они таковыми являются. В чем может быть проблема и как правильно оценить изображение/программу?
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 18.11.2012, 01:38
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 2  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Перекодирование картинки при внедрении? Попробуйте какой-нибудь утилитой картинку из уже готовой флешки достать. Вроде бы в swftools или в swfmill были инструменты. Ну и побайтово сравните с исходной. Вообще, Jpeg до какой-то версии нормально в swf поддерживается и перекодирование картинки не обязательно. С другой стороны, перекодировать из заведомо неподдерживаемых форматов компилятор умеет и jpeg'и тоже может заодно обрабатывать.

Старый 18.11.2012, 02:10
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 3  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
jpeg формат не похож на массив вроде (x,y, цвет) - там вместо пикселей блоки. Разные либы, которые используются в getPixel, и ФШ, могут давать разные результаты, в теории. Зависит от того, насколько грамотно разработчик реализовал алгоритм(ну, например, уточнение коэффициентов для прогрессивного кодирования). Ну и одному Адобу ведомо, что там при внедрении на самом деле происходит.

Старый 18.11.2012, 02:22
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Немного проясню ситуацию. Зашел на одном форуме, даже не спор, а разговор, сколько абсолютно белых пикселей содержит изображение. Были предложены результаты написанные на яве, VB, ну и флеш. Может еще на чем-то появится. Первые 2 выдают одинаковые результаты, которые отличаются от того, что выдает флеш и ФШ. При чем ФШ по подсчету более близок к результатам программы, написанной на ас, но при попиксельной проверке опять же различия. Кстати, для интересующихся прикрепляю изображение, на всякий случай в архиве (хз, может движок форума как-то его конвертнуть захочет).
Что сделал дополнительно. Декомпилировал сотинком полученную swf, сохранил из нее то самое изображение и подставил опять в мою программу. Результат (и по количеству, и по координатам) остался прежний.
Да, jpg несколько специфичный формат, но не на столько что бы результаты на столько отличались в зависимости от того, какой программой смотреть.
Собственно, если не доверять ФШ-у, то кому? Как достоверно определить цвет пикселя?
Вложения
Тип файла: rar attachment.rar (86.6 Кб, 36 просмотров)
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 18.11.2012, 18:56
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Перекодировали изображение в png, результаты оказались более кучными. Так, as3, java, VB выдают одинаковые результаты, паскаль отличается. И ФШ по прежнему ни с кем не согласен. С jpg еще можно предположить в чем проблема, а относительно png - формат, заявленный, как не приводящий к потери качества при сжатии... В общем если у кого есть идеи, было бы интересно послушать.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 18.11.2012, 19:46
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Цветовое пространство?
Фотошоп: Edit >> Color Settings
__________________
Reality.getBounds(this);

Старый 18.11.2012, 21:10
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 7  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Wolsh, а разве этот показатель влияет на собственно цвет пикселя? Имею ввиду тот цвет, который описан форматом файла и содержится в нем в виде набора байтов, а не то, как он будет отображаться на экране разных фирм, бумаге при печати и пр.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 18.11.2012, 21:17
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 8  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Расскажите, как Вы получали в фотошопе статистику.

Цитата:
png - формат, заявленный, как не приводящий к потери качества при сжатии...
Например, если сохранить эту джипежку в фотошопе как PNG, то Ваш код насчитает 6 белых пикселей, а не 15.
И только 3 из них совпадут по координатам с джипежкой.
На примере точки 199, 34 можно увидеть, что в джипежке она не белая, а для колорпикера фотошопа — белая. И в PNG эта точка будет сохранена как белая.
Фотошоп при открытии файла jpeg составил свой битмап, по своим алгоритмам, наверняка более изощренным, чем используемые в других программах.
Повторю Krusty: джипег это не битмап, в нем нет цветов конкретных пикселей. Что касается PNG в фотошопе, который "не согласен", я не знаю на что можно еще грешить, кроме цветового профиля.
Мне как-то попадалась PNG, которая показывалась и сохранялась с разными цветами в зависимости от color settings, но получить такой PNG из этой джипежки я не смог.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 18.11.2012 в 23:03.
Старый 18.11.2012, 23:14
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 9  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
ОК, спасибо всем отметившимся. Если будут еще какие дополнения по теме, было бы интересно послушать.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 19.11.2012, 00:11
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 10  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
вот тут что-то интересное было про цвет http://www.flasher.ru/forum/blog.php?b=24

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:16.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:16.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.