![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Inst |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Работаю в графическом режиме 16 цетов, 640*480.
Написал фунцкию вывода картинок:
Потом, например:
(Да, картинки в формате gra, т.е. они вообще без разрешения, я их из bmp специальной программой конвертировал) Но: обычно в Паскале подобной фунцкией я выводил без проблем картинки до 64 кб. Здесь же иногда выведет картинку 38 кб нормально (на которой допустим мало содержимого), а иногда 8кб вообще криво выводит, с помехами, не знаю, size переглючивает. Подскажите, что делать? Или есть еще норм. способ вывода картинок? з.ы. Среда: Borland C под DOS =) Заранее спасибо |
||||
|
|||||
Inst |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Так, есть прогресс:
Если исправить вот так: fl=fopen (filename,"rb"); Т.е. не "r" а "rb" (я так понял это readblock) то читает нормально файлы до 32кб. Но все же, чтобы вывести картинку на полный экран (128 кб) получается ее надо разбить на 4 файла. Не удобно, особенно если у меня много таких картинок... ![]() Не знаете как можно сделать чтобы считывать и выводить большие картинки? (128кб или хотя бы уж 64кб). Заранее спасибо (еще раз) =) |
|||
|
||||
volvo877 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2073 Регистрация: 15.11.2004 Репутация: 1 Всего: 116 |
Inst, зачем мешать в одну кучу С и С++?
Пользуйся чем-то одним:
Только вот программу компилируй НЕ в модели памяти "tiny" |
|||
|
||||
Inst |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
||||
|
||||
Inst |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 24.5.2006 Репутация: нет Всего: нет |
Ааа подскажите, что делать, у меня на середине программа виснет или вообще перестает что-то выводить в граф. режиме!
Наверное она съедает всю память! Что делать? Мне проект завтра сдавать =)) В функции подгрузки картинок я использую free (p1); Все равно такое ощущение как будто памяти [censored 6]... (Пишу же под DOS борландом, там памяти дается наверное килобайт 128, [censored 6] ![]() Заранее спасибо за помощь! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Ты, наверное, забываешь сделать free, для выделенной памяти. Поэтому у тебя она и съедается.
К тому же, размер блока, который могут читать стандартные досовые функции - 65535 (именно 65536-1) байт. У меня есть сомнения, что возможно чтение через границу сегментов. Поэтому, самый лучший способ это: открытие файла, выделение буфера, чтение части картинки в буфер, вывод на экран, чтение следующей части..., освобождение буфера, закрытие файла. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |