![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.07.2007
Сообщений: 29
|
![]()
Добрый день!
Возникают поблемы при использовании JPEG модуля в Delphi 7. 1. Если высота картинки 1 пиксель тогда может возникать ошибка "Scan line index out of range.". Как с этим боротся? Например: var JPEGImage1 : TJPEGImage; BMP : TBitmap; ... JPEGImage1.LoadFromFile(S); ... BMP.Assign(JPEGImage1); { сбой при размере картинки высотой 1 пиксель} 2. Как можно открыть JPEG с сжатием CMYK, а не RGB?
Если бы строители строили дома так, как программисты пишут программы, тогда первая залётная птичка разрушела весь город
![]() |
![]() |
![]() |
![]() |
#2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
if JPEGImage1.Height > 1 then ...
//что ты увидишь в картинке высотой в 1 пиксель? //если обязательно должен быть битмап, заполни битмап линией в один пиксель любого цвета
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 05.07.2007
Сообщений: 29
|
![]() Цитата:
![]()
Если бы строители строили дома так, как программисты пишут программы, тогда первая залётная птичка разрушела весь город
![]() |
|
![]() |
![]() |
![]() |
#4 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Поищи компоненты графические.
Цитата:
В первом посте имел в виду следуещее: если сбой именно в этой строке BMP.Assign(JPEGImage1); то какая разница какого цвета будет полоса из одного пикселя. Это можно обойти: if JPEGImage1.Height > 1 then BMP.Assign(JPEGImage1) else begin bmp.width:=jpegimage1.width; bmp.Height :=jpegimage1.Height; bmp.canvas.lineto(jpegimage1.width, 0); end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 05.07.2007
Сообщений: 29
|
![]()
Это конечно может и выход. Но это не мой стиль. Моя программа используется для работы с JPEG изображениями (что-то типа ACDSee или XnViewer), поэтому для меня не приемлемо. Ошибка также проявляется при таком коде (полноэкранный режим):
Form2.Canvas.StretchDraw(Rect(X, Y, W + X, H + Y), JPEGImage1); в процедуре FormPaint(Sender: TObject);
Если бы строители строили дома так, как программисты пишут программы, тогда первая залётная птичка разрушела весь город
![]() |
![]() |
![]() |
![]() |
#6 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
![]()
Может это поможет:
http://programmersforum.ru/showthread.php?t=5436
Life is too short, play more...
Как правильно задавать вопросы |
![]() |
![]() |
![]() |
#7 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]() Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
![]() |
![]() |
![]() |
#8 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
у д а л е н о
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 31.07.2007 в 17:29. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 05.07.2007
Сообщений: 29
|
![]()
Если бы строители строили дома так, как программисты пишут программы, тогда первая залётная птичка разрушела весь город
![]() |
![]() |
![]() |
![]() |
#10 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Не зная какая ошибка трудно что-то сказать. Вообще OnPaint может выполняться довольно часто, и вешать на нее такие функции как StretchDraw я бы не стал. Лучше иметь буферный битмап с масштабированной картинкой и выводить его обычным Draw. А картинку масштабировать лишь по команде пользователя.
Но в любом случае это приведет лишь к заторможенности, а не к ошибке. Попробуй для проверки просто замени jpeg на битмап. Будет возникать или нет.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Jpeg | warmbabe | Общие вопросы по Java, Java SE, Kotlin | 2 | 26.02.2010 20:14 |
jpeg | All517 | БД в Delphi | 15 | 22.11.2007 14:31 |
Использование EhLib 4.1 в Delphi 2006 | beketova | Компоненты Delphi | 2 | 15.11.2007 09:30 |
Использование JavaScript в Delphi... | Valdis | Общие вопросы Delphi | 2 | 27.09.2007 08:45 |
Использование функции Excel из Delphi | Геля | Общие вопросы Delphi | 3 | 07.06.2007 07:33 |