IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> Фон&движение, проблем...
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


короче:
я сделал "фон" я хочу сделать движение на "переднем плане" т.е чтоб фон не стирался.
cleardevice пробовал слишком медленно...
вот код:

uses crt,graph;
var
gd,gm,i,j,l:integer;
o:byte;
s:string;
begin
randomize;
gd:=detect;
initgraph(gd,gm,'');
setcolor(green);
for j:=1 to getmaxy do
begin
j:=j+10;
for i:=1 to getmaxx do
begin
o:=random(256);
i:=i+10;
outtextxy(i,j,chr(o));
end;
end;
readln;
end.


вот на нем мне надо сделать движение но чтоб фон остался.


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Что двигать будешь? Фигуру какую-нибудь?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


текст


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Запоминай маленький участок экрана на том месте, куда будешь выводить текст (через GetImage), потом - PutImage для того чтобы удалить текст, и выводи его в другом месте...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


а чё там про видеостраницы ?


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






А не рановато? Ты бы пока с одной разобрался... Не торопись...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


=)
ок
[offtopic]
блин пол-года фигней маялся....
так бы щас паскаль уже хорошо знал[/offtopic]


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


Procedure Getlmage(X1,Y1,X2,Y2: Integer; var Buf)
Buf - переменная или участок кучи, куда будет помещена копия видеопамяти с фрагментом изображения.

blink.gif


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +



uses crt,graph;
var
gd,gm,i,j,l:integer;
o:byte;
f:word;
s:string;
begin
randomize;
gd:=detect;
initgraph(gd,gm,'');
setcolor(green);
for j:=1 to getmaxy do
begin
j:=j+10;
for i:=1 to getmaxx do
begin
o:=random(256);
i:=i+10;
outtextxy(i,j,chr(o));
end;
end;
f:=imagesize(0,0,400,400);
getimage(0,0,400,400,f);
delay(200);
putimage(300,300,f,0);

readln;
end.


что я не так сделал ? ведь по идее должно выйти на экран


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






blink.gif
f:word;
...
getimage(0,0,400,400,f);

Ты хочешь картинку 400х400 "запихать" в 2 байта? blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


эээ... я не совсем понял 4 параметр...
а если longint ?


попробовал так....
f:longint;
Код

 f:=imagesize(0,0,10,10);
 getimage(0,0,10,10,f);
 delay(200);
 putimage(300,300,f,0);

ну а если я работаю с большими картинками ? какой выход ?

Сообщение отредактировано: suriv -


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость







var
f:word;
buf: pointer;
...

f:=imagesize(0,0,400,400);
getmem(buf, f);
getimage(0,0,400,400,buf^);
cleardevice; { для проверки }
putimage(100, 0, buf^, CopyPut);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Пионер
**

Группа: Пользователи
Сообщений: 136
Пол: Мужской
Реальное имя: Александр

Репутация: -  -2  +


Код

Var
size: Word;
p: Pointer;
Begin
.....
size:=ImageSize(0,0,10,10);
Getmem(p,size);
GetImage(0,0,10,10,p^);
 delay(200);
PutImage(300,300,p^,0);
FreeMem(p,size)
.....
End.


--------------------
Старайтесь восполнять пробелы в области незнания! ;-D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +



uses crt,graph;
var
gd,gm,i,j,l:integer;
o:byte;
f:word;
buf:pointer;
s:string;
begin
randomize;
gd:=detect;
initgraph(gd,gm,'');
setcolor(green);
for j:=1 to getmaxy do
begin
j:=j+10;
for i:=1 to getmaxx do
begin
o:=random(256);
i:=i+10;
outtextxy(i,j,chr(o));
end;
end;
f:=imagesize(0,0,400,400);
getmem(buf,f);
getimage(0,0,400,400,buf^);
cleardevice;
putimage(100,0,buf^,0);
freemem(buf,f);
readln;
end.


вылетает....


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Пионер
**

Группа: Пользователи
Сообщений: 136
Пол: Мужской
Реальное имя: Александр

Репутация: -  -2  +


Может потому что графический режим не закрываешь? (CloseGraph)


--------------------
Старайтесь восполнять пробелы в области незнания! ;-D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +



f:=imagesize(0,0,400,400);
getmem(buf,f);
getimage(0,0,400,400,buf^);
cleardevice;
putimage(100,0,buf^,0);
freemem(buf,f);
closegraph;
readln;
end.

нифига...


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Неа, скорее всего причина такогва:

GetImage сохраняет картинку в виде массива... Для картинки 400x400 нужно
160000 байт для режима с 256 цветами. У нас режим 4 bits, для картинки
нужно 160000x0.5=80000 байт, что превышает возможное кол-во зарезервировать память для Pointer( а оно равно ~65500 байт). И прога виснет в операторе GetMem...

Возможные решения: разбить экран на четыре части и для них завести переменные Buf1,Buf2,Buf3,Buf4...


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Гость






suriv, а ты убедился, что Buf у тебя не равен Nil? И вообще, что ты запрашиваешь меньше 64К памяти?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Ах, точно! Если картинка занимает места больше возможного, то ImageSize возвращает ноль!


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Бывалый
***

Группа: Пользователи
Сообщений: 234
Пол: Мужской
Реальное имя: AHTOH

Репутация: -  1  +


спасибо...


--------------------
Хочу в репу !

Cмотри,а то ведь получишь!
Админ.

Не получит - его фиг догонишь!
Админ №2.

P.S Вы еще третьего админа притащите сюда :D
ваш аффтар :D
Звали? :D (админ № не помню какой)

ха больше нифига не напишете
афтар

Уверен? (Moderator)
А еще можно ? (супмодер)
Хватит его мучать ! Избили уж... (админ)
Не хватит. я тоже напишу (тоже Админ)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 16.05.2024 7:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name