|
Определение размеров загружаемой картинки?!?
|
|||
---|---|---|---|
#18+
Привет! Вот какая проблемма нарисовалась: тяну картинки с Amazon.com для того, что бы выводить на своем сайте. Некоторые линки - пусты, т.е. даже парсинг не помогает поскольку там находятся пустые картинки размером 1х1 пиксель. Например, сравните эти две ссылки (вержняя живая, нижняя 1х1): http://images.amazon.com/images/P/0486273970.01.THUMBZZZ.jpg http://images.amazon.com/images/P/0852635400.01.THUMBZZZ.jpg Задача, которую мне нужно решить - банальна: Если картинка 1х1 пиксель - то вместо нее показывать что то типа стандартной картинки с надписью "Картинки нет". Можно ли решить это средствами ASP? Наверняка есть какая-то компонента от Microsoft, но я ни с чем подобным не сталкивался и не знаю как она называется, если она есть. Если кто-то занет, что делать в подобной ситуации - буду принателен за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2003, 21:13 |
|
Определение размеров загружаемой картинки?!?
|
|||
---|---|---|---|
#18+
Если картинка 1х1 пиксель - то вместо нее показывать что то типа стандартной картинки с надписью "Картинки нет". Вариант: взять описание формата JPEG, найти по какому смещению в файле хранится информация о ширине и высоте изображения, далее прочесть через FileSystemObject и сравнить... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2003, 01:04 |
|
Определение размеров загружаемой картинки?!?
|
|||
---|---|---|---|
#18+
А по размеру файла не судьба отфильтровывать? Узнай размер файла 1х1 и все что равно ему заменяй. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2003, 08:07 |
|
Определение размеров загружаемой картинки?!?
|
|||
---|---|---|---|
#18+
Поздравляю с 11 марта и вот тебе подарок. это, конечно, не супер рулез код, но работает (ok, 8 мес. назад работал :) a_sJpegName : Имя филе a_lWidth : ширина, по ByRef a_lHeight : высота, опять по ByRef Function getSize(a_sJpegName , _ ByRef a_lWidth , _ ByRef a_lHeight ) Dim l_bByte Dim i Dim k, n Dim l_bHeight1 , l_bHeight2 Dim l_bWidth1 , l_bWidth2 ' on error resume next ' return value getSize = "True" ' open file ' Open a_sJpegName For Binary Access Read As #1 Dim l_oFSO, l_oFile set l_oFSO = Server.CreateObject("Scripting.FileSystemObject") Set l_oFile = l_oFSO.OpenTextFile(a_sJpegName, 1, True) While Not l_oFile.AtEndOfStream l_bByte = l_oFile.read(1) i = Asc(l_bByte) ' find FF C0 part of header If i = 255 Then ' Get 1, , l_bByte l_bByte = l_oFile.read(1) ' ----------------------------------------------------- ' | FFC0 | seg len | bits/sample | height | width | ' ----------------------------------------------------- 'Bytes 2 2 1 2 2 If CStr(Hex(Asc(l_bByte))) = "C0" Then ' skip 3 bytes For n = 1 To 3 'Get 1, , l_bByte l_bByte = l_oFile.read(1) Next 'next 2 is height l_bHeight1 = l_oFile.read(1) l_bHeight2 = l_oFile.read(1) 'Get 1, , l_bHeight1 'Get 1, , l_bHeight2 ' next 2 is width l_bWidth1 = l_oFile.read(1) l_bWidth2 = l_oFile.read(1) 'Get 1, , l_bWidth1 'Get 1, , l_bWidth2 End If End If Wend ' to transfer: a_lHeight = CLng(Asc(l_bHeight1) * 256 + Asc(l_bHeight2)) a_lWidth = CLng(Asc(l_bWidth1) * 256 + Asc(l_bWidth2)) l_oFile.close If Err.Number <> 0 Then getSize = "False" End If End Function ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2003, 13:26 |
|
|
start [/forum/topic.php?fid=18&fpage=1054&tid=1396556]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 388ms |
0 / 0 |