Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.11.17;
Скачать: CL | DM;

Вниз

Гугл хром браузер и 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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.008 c
15-1369660873
alexdn
2013-05-27 17:21
2013.11.17
Гугл хром браузер и bmp


15-1369830310
Пит
2013-05-29 16:25
2013.11.17
Каким образом создается COM-сервер?


1-1318430295
plr
2011-10-12 18:38
2013.11.17
Не могу разобраться с runtime error


15-1369907951
Дмитрий СС
2013-05-30 13:59
2013.11.17
CreateDesktop + Панель задач.


1-1317284571
Alex_C
2011-09-29 12:22
2013.11.17
Сохранение файла в Thread?