Зворотний зв'язок

Перетворення форматів графічних файлів

end;

curx:=0;

end;

Коли ми зчитали увесь рядок у буфер, час його записати. Але через те, що RGB дані у PCX форматі розбиті на площини, запис йде з трьох точок буферу, що поступово зміщуються. Зауважте обернений формат запису триплетів у форматі BMP, спочатку йде B, потім G, а потім R. У кінці ми переводимо вказівник знову на початок буферу.

end;

writeln;

close(PCXF);

close(BMPF);

Закінчили читати файл й записувати тимчасовий.

Починаємо перевертання тимчасового файлу у нормальний формат BMP.

assign(PCXF, 'dollar.tmp');

reset(PCXF, 1);

assign(BMPF, 'dollar.bmp');

rewrite(BMPF, 1);

Спочатку, як завжди, відкриємо файли. Врахуйте, що тимчасовий файл відкривається змінною, що раніше відповідала PCX файлу. Так зроблено для мінімізації кількості змінних.

blockread(PCXF, BMPheader, 54);

blockwrite(BMPF, BMPheader, 54);

Зчитаємо й запишемо заголовок без змін. Будемо зчитувати файл по рядкам з кінця, а записуватимемо з початку.

for i:=1 to HGT do begin

Як не дивно, зчитувати рядки потрібно стільки раз, скільки у нас рядків.

pos1 := filesize(PCXF)-(BPL*3*i);

Визначається позиція кожного рядку у файлі: від кінця файлу віднімаємо i рядків довжиною BPL*3 (*3 тому, що RGB).

gotoxy(1, wherey); write(pos1); clreol;

Просто виводимо цю позицію на екран.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат