Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.11.17;
Скачать: [xml.tar.bz2];

Вниз

Гугл хром браузер и bmp   Найти похожие ветки 

 
alexdn ©   (2013-05-27 17:21) [0]

Почему хром браузер не отображает bmp? Это что, у них политика такая? мол типа битмап это системный файл?


 
RWolf ©   (2013-05-27 17:25) [1]

у меня отображает.


 
brother ©   (2013-05-27 17:27) [2]

> типа битмап это системный файл?

сам понял, что сказал?


 
alexdn ©   (2013-05-27 17:35) [3]

а может даже по другому нужно было задать вопрос, почему гугл хром не считает битмапом файл, который делается в делфи так -
name:=SavePictureDialog1.FileName+".bmp";
Image1.Picture.Bitmap.SaveToFile(name);


 
Jeer ©   (2013-05-27 17:37) [4]

Хром предохраняет от э.. непотребства.
Угадал?


 
Дмитрий СС   (2013-05-27 17:37) [5]

И слава богу. Допотопный формат, пора ему и вымереть (на ББ как минимум).


 
брат Птибурдукова   (2013-05-27 17:40) [6]

Удалено модератором


 
RWolf ©   (2013-05-27 17:40) [7]


> [3]

Скопипастил код, запустил, открыл. УМВР.


 
alexdn ©   (2013-05-27 17:44) [8]

Удалено модератором


 
alexdn ©   (2013-05-27 17:47) [9]

Но увы, ответ я так и не услышал.


 
Игорь Шевченко ©   (2013-05-27 18:03) [10]

в [1] ответили


 
Eraser ©   (2013-05-27 18:03) [11]


> Дмитрий СС   (27.05.13 17:37) [5]

bmp вымрет последний среди всех графических форматов.


 
Дмитрий СС   (2013-05-27 19:02) [12]


> Eraser ©   (27.05.13 18:03) [11]

Крайне сомнительное утверждение.


 
Алканавт расправил плечи   (2013-05-27 19:50) [13]


> Крайне сомнительное утверждение.
Проблемка в том, что и [5], и [11] правы


 
antonn ©   (2013-05-27 20:25) [14]


> Крайне сомнительное утверждение.

никаких сомнений, особенно для тех кто с графикой работает


 
Sapersky   (2013-05-27 20:57) [15]

Формат создаваемых в Дельфи битмапов по умолчанию 32-битный, при этом функции GDI затирают 4-й байт, а Хром считает его альфа-каналом.
В общем, PixelFormat := pf24Bit должно помочь.


 
alexdn ©   (2013-05-27 21:07) [16]

> Sapersky   (27.05.13 20:57) [15]
Мерси, вот и ответ, а то я уже думал что это у меня глюки, а чего ж это Хром такой придирчивый? опера и ехплорер гораздо терпимее.. Или это уровень хром разработчиков (повышенный)?


 
alexdn ©   (2013-05-27 21:15) [17]

> Sapersky   (27.05.13 20:57) [15]
> его альфа-каналом.
Ну точно, сама картинка есть, по размеру файла, но белая.


 
alexdn ©   (2013-05-27 22:20) [18]

> Sapersky   (27.05.13 20:57) [15]
Совершенно дурной вопрос, почему функции GDI затирают 4-й байт, и почему Хром считает его альфа-каналом?


 
antonn ©   (2013-05-27 22:47) [19]

а почему бы не считать его альфаканалом, если и МС-овские функции типа updatelayeredwindow поступают так же


 
Eraser ©   (2013-05-27 23:21) [20]


> alexdn ©   (27.05.13 22:20) [18]

смотря какие функции.


 
Sapersky   (2013-05-28 01:37) [21]

Затирают альфу функции рисования вроде FillRect - видимо потому, что 4 байта проще и быстрее записать чем 3. Сейчас понятно, что лучше туда 255 писать, но во времена разработки GDI про прозрачность вообще не думали.

В современных граф. API и библиотеках 4-й байт однозначно ассоциируется с прозрачностью. С другой стороны, в стандарте bmp прозрачность не прописана (только в новых заголовках V4/V5, которые AFAIK никто не использует), 4-й байт полагается просто игнорировать. И здесь уж каждый сам решает, как делать - по стандарту или по общепринятым "понятиям".

На мой взгляд, возможность смотреть bmp с альфой полезна для графического вьюера - при условии, что её можно отключить (как в XnView, например). А браузерам лучше не выпендриваться и следовать стандарту.


 
.пас и .бмп будут жить!   (2013-05-28 02:04) [22]

>никаких сомнений, особенно для тех кто с графикой
растром или вектором ? :)
> работает


 
Дмитрий С ©   (2013-05-28 02:34) [23]


> никаких сомнений, особенно для тех кто с графикой работает

Ему повезло лишь потому, что его формат совпадает с форматом распакованной графики в памяти. Но как формат файла он, имхо, давно уже кончился. Опять же для ББ, для загрузки изображения в микроконтроллер, например, сгодится.


 
alexdn ©   (2013-05-28 07:53) [24]

> Sapersky   (28.05.13 01:37) [21]
> А браузерам лучше не выпендриваться
> и следовать стандарту.
Какому стандарту, программирования как хром, или пользовательскому стандарту, как опера и эксплорер?


 
Алканавт расправил плечи   (2013-05-28 07:58) [25]


> Ему повезло лишь потому, что его формат совпадает с форматом
> распакованной графики в памяти
"Если это везение, то спортсмену везет каждый раз, когда он попадает ракеткой по мячу. Везение всегда лишь результат тщательной подготовки" http://flibusta.net/b/136940/read


 
Dimka Maslov ©   (2013-05-28 08:21) [26]

Нормальная программа при чтении файла любого формата сначала должна прочитать заголовок, а потом делать предположение о структуре данных. При этом если заголовок не понятен - выдать предупреждение о неправильном (неподдерживаемом) формате данных. Всё таки я не думаю, что в гугле разработчики подобного уровня, чтобы этого не делать. Так что проблема, скорее всего в другом месте, а именно в самом файле.


 
alexdn ©   (2013-05-28 08:47) [27]

> Dimka Maslov ©   (28.05.13 08:21) [26]
А чего не поддерживаемый формат то? всё правильно, а то что альфа канал затёрт это не гугла проблема.


 
alexdn ©   (2013-05-28 09:06) [28]

> Sapersky   (27.05.13 20:57) [15]
> В общем, PixelFormat := pf24Bit должно помочь.
Form4.Image1.Picture.Bitmap.PixelFormat:=jf24Bit;
[DCC Error] Unit4.pas(1065): E2010 Incompatible types: "TBitmap" and "TJPEGPixelFormat"


 
Алканавт расправил плечи   (2013-05-28 09:24) [29]

Всемилостивый будда Гаутама… Ты разницу между pf и jf видишь?..


 
alexdn ©   (2013-05-28 09:34) [30]

> Алканавт расправил плечи   (28.05.13 09:24) [29]
Да, долго ржал, поставил -
Form4.Image1.Picture.Bitmap.PixelFormat:=pf24Bit; - в хроме видно;
Form4.Image1.Picture.Bitmap.PixelFormat:=pf32Bit; - в хроме исчезает;
как жить?)


 
alexdn ©   (2013-05-28 09:45) [31]

Это что ж, хром получается Эмбаркадеро большой привет передал?:)


 
alexdn ©   (2013-05-28 10:06) [32]

В свете вышеизложенного так и хочется спросить а что там у microsoft с сохранением bmp? в с и с#?


 
Дмитрий С ©   (2013-05-28 10:08) [33]


> Это что ж, хром получается Эмбаркадеро большой привет передал?
> :)

при pf32Bit ты можешь сам задать значения этого альфаканала, причем тут эмбаркадеро


 
antonn ©   (2013-05-28 10:11) [34]


> Dimka Maslov ©   (28.05.13 08:21) [26]
>
> Нормальная программа при чтении файла любого формата сначала
> должна прочитать заголовок, а потом делать предположение
> о структуре данных. При этом если заголовок не понятен -
>  выдать предупреждение о неправильном (неподдерживаемом)
> формате данных. Всё таки я не думаю, что в гугле разработчики
> подобного уровня, чтобы этого не делать. Так что проблема,
>  скорее всего в другом месте, а именно в самом файле.

если ты в дельфи просто сменишь pf24bit на pf32bit, то получится битмап с зануленной альфой (4-й байт) который браузер и старается отобразить согласно заголовку. поэтому прежде чем указывать формат в 4 байта битмапу следует понимать что случится и зачем оно надо


 
alexdn ©   (2013-05-28 10:17) [35]

> antonn ©   (28.05.13 10:11) [34]
вообще эмбаркадеро лихо поступили, давайте мол обнулим, это они наверное первого апреля решили)..


 
robt5   (2013-05-28 10:26) [36]

проблема в том что "Гугл овцы" зазвездились малясь, недавно только была тема что он jpeg в CMYK некоректно отображает, я уж молчу про "безопасность"


 
robt5   (2013-05-28 10:29) [37]


> alexdn ©   (28.05.13 10:17) [35]

ну что ты бредишь то ?
они должны были цифровой шум туда набить?
альфаканал заполняется програмистом


 
alexdn ©   (2013-05-28 10:37) [38]

> robt5   (28.05.13 10:29) [37]
Да нет, я скорее к тому, что стандартная конструкция должна идти в виде -
name:=SavePictureDialog1.FileName+".bmp";
Image1.Picture.Bitmap.PixelFormat:=pf24Bit;
Image1.Picture.Bitmap.SaveToFile(name);
чтобы проблем не было.. или действительно pf32Bit, но тогда и альфа канал на 255 прописывать. Но кстати кроме хрома нигде таких проблем больше не всплывало.


 
antonn ©   (2013-05-28 12:09) [39]


> Да нет, я скорее к тому, что стандартная конструкция должна
> идти в виде -

хм, а теперь tbitmap дефолтно в формате 32-х бит создается в новых студиях?


 
alexdn ©   (2013-05-28 12:21) [40]

> antonn ©   (28.05.13 12:09) [39]
в 2010 выходит что так. Кстати, как оговорить альфа канал для bmp? что то нигде не могу найти..



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2013.11.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.135 c
15-1370205002
Юрий
2013-06-03 00:30
2013.11.17
С днем рождения ! 3 июня 2013 понедельник


15-1370024837
robt5
2013-05-31 22:27
2013.11.17
.Net из VCL


2-1360819310
Exception
2013-02-14 09:21
2013.11.17
Templates and Inheritance


15-1360441805
Юрий
2013-02-10 00:30
2013.11.17
С днем рождения ! 10 февраля 2013 воскресенье


2-1360758456
шел мимо решил зайти
2013-02-13 16:27
2013.11.17
объявление переменной TMemo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский