forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Фон в Кавас! (http://forum.boolean.name/showthread.php?t=6119)

Seregakz 15.07.2008 12:07

Фон в Кавас!
 
Народ подскажите как изменить фон в кавас?

Strelok 15.07.2008 14:07

Ответ: Фон в Кавас!
 
Почитайка справку ;)

KeipL 15.07.2008 14:47

Ответ: Фон в Кавас!
 
Цитата:

formAddImage

function formAddImage(i:image):integer;

Вставляет изображение на форму. Функция возвращает ID вставленного изображения.

var
image_id: integer;
begin
image_id := formAddImage(loadImage('/logo.png'));
showForm;
delay(2000);
end.

См. также: showForm, formRemove

Лень глянуть?

ViNT 15.07.2008 15:03

Ответ: Фон в Кавас!
 
Цитата:

Сообщение от KeipL (Сообщение 82301)
Лень глянуть?

При чем здесь форма?
И вообще, что подразумевается под изменением фона - заливка цветом или вывод фонового изображения?
Если заливка - нужно просто перед рисованием основного изображения нарисовать на канвасе прямоугольник нужного цвета на весь экран, если изображение, то нужно вывести его с помощью DrawImage, и потом рисовать на нем.

Seregakz 15.07.2008 15:11

Ответ: Фон в Кавас!
 
Цитата:

Сообщение от ViNT (Сообщение 82304)
При чем здесь форма?
И вообще, что подразумевается под изменением фона - заливка цветом или вывод фонового изображения?
Если заливка - нужно просто перед рисованием основного изображения нарисовать на канвасе прямоугольник нужного цвета на весь экран, если изображение, то нужно вывести его с помощью DrawImage, и потом рисовать на нем.

Ну над чтоб полнотью во всей проге задний фон был голубого цвета!

Romanzes 15.07.2008 15:34

Ответ: Фон в Кавас!
 
Если пользуешься не формой, а канвой, то просто при перерисовке в начале пишешь:

SetColor(0,0,127);
FillRect(0,0,ScrW,ScrH);

Где ScrW, ScrH- ширина и высота экрана.

Seregakz 15.07.2008 15:55

Ответ: Фон в Кавас!
 
ещё вопросик как сделать обновления DrawText вот например:
пишу ААА потом пишу БББ. и происходит наложение а не замена текста(

DrawText('ААА', 0, 0);
Delay(2000);

DrawText('БББ', 0, 0);
Repaint;
Delay(1000);

Romanzes 15.07.2008 16:37

Ответ: Фон в Кавас!
 
Точно так же: зарисовываешь весь экран прямоугольником, а потом рисуешь все, что нужно. Вообще, обычно перед обновлением экрана принято так делать.

Seregakz 15.07.2008 16:44

Ответ: Фон в Кавас!
 
плз приведи пример исходником =)
прост мне надо будет постоянно менять этот текст.
вот на этом исправь как надо:
PHP код:

Program NewProjectNEW;
Begin
    DrawText
('Привет!'55);    
    
Delay(2000);    
    
DrawText('ППППППП'55);
    
Repaint;    
    
Delay(999999999);
End


vitalik1 15.07.2008 17:10

Ответ: Фон в Кавас!
 
Вот тебе пример:

PHP код:

Program NewProjectNEW;
var
   
ScrW,ScrHinteger;

procedure cls;
begin
   setcolor
(0,0,127);
   
fillrect(0,0,ScrW,ScrH);
   
setcolor(255,255,255);
end;
 
Begin
    ScrW
:=getwidth;
    
ScrH:=getheight;
    
cls;
    
DrawText('Привет!'55);
    
repaint;
    
Delay(2000);
    
cls;     
    
DrawText('ППППППП'55); 
    
Repaint;     
    
Delay(999999999); 
End


Seregakz 15.07.2008 17:15

Ответ: Фон в Кавас!
 
Цитата:

Сообщение от vitalik1 (Сообщение 82316)
Вот тебе пример:

PHP код:

Program NewProjectNEW;
var
   
ScrW,ScrHinteger;

procedure cls;
begin
   setcolor
(0,0,127);
   
fillrect(0,0,ScrW,ScrH);
   
setcolor(255,255,255);
end;
 
Begin
    ScrW
:=getwidth;
    
ScrH:=getheight;
    
cls;
    
DrawText('Привет!'55);
    
repaint;
    
Delay(2000);
    
cls;     
    
DrawText('ППППППП'55); 
    
Repaint;     
    
Delay(999999999); 
End


тута фон меняется а мне надо что ваше нечего не менялось кроме текста !!!!!!
чтоб фон был стандартной темы в телефоне!

vitalik1 15.07.2008 17:26

Ответ: Фон в Кавас!
 
Ну тогда или закрашивай только текст так:
PHP код:

setcolor(0,0,0);
    
DrawText('Привет!'55); 
    
repaint;
    
Delay(2000); 
    
setcolor(255,255,255);//цвет фона
    
DrawText('Привет!'55);
    
setcolor(0,0,0); 
    
DrawText('ППППППП'55);  
    
Repaint;      
    
Delay(999999999); 

или так
PHP код:

setcolor(0,0,0);
    
DrawText('Привет!'55); 
    
repaint;
    
Delay(2000); 
    
setcolor(255,255,255);//цвет фона
    
fillrect(5,5,getstringwidth('Привет!'),getstringheight('Привет!'));
    
setcolor(0,0,0); 
    
DrawText('ППППППП'55);  
    
Repaint;      
    
Delay(999999999); 

или перерисовывай все на экране

Seregakz 15.07.2008 17:28

Ответ: Фон в Кавас!
 
Цитата:

Сообщение от vitalik1 (Сообщение 82318)
Ну тогда или закрашивай только текст так:
PHP код:

setcolor(0,0,0);
    
DrawText('Привет!'55); 
    
repaint;
    
Delay(2000); 
    
setcolor(255,255,255);//цвет фона
    
DrawText('Привет!'55);
    
setcolor(0,0,0); 
    
DrawText('ППППППП'55);  
    
Repaint;      
    
Delay(999999999); 

или так
PHP код:

setcolor(0,0,0);
    
DrawText('Привет!'55); 
    
repaint;
    
Delay(2000); 
    
setcolor(255,255,255);//цвет фона
    
fillrect(5,5,getstringwidth('Привет!'),getstringheight('Привет!'));
    
setcolor(0,0,0); 
    
DrawText('ППППППП'55);  
    
Repaint;      
    
Delay(999999999); 

или перерисовывай все на экране


ну вот пример проги который мне нужен:
то есть без смены фона без смены цвета текста всё как обычно но чтоб прост меняло текст:
PHP код:

Program NewProjectNEW
Begin 
    DrawText
('Привет!'55);     
    
Delay(2000);     
    
DrawText('ППППППП'55); 
    
Repaint;     
    
Delay(999999999); 
End


vitalik1 15.07.2008 17:29

Ответ: Фон в Кавас!
 
чтоб фон был стандартной темы в телефоне надо использовать формы

vitalik1 15.07.2008 17:35

Ответ: Фон в Кавас!
 
но если текст не затереть цветом фона то следующий текст наложиться на него

Strelok 15.07.2008 17:49

Ответ: Фон в Кавас!
 
PHP код:

Program NewProjectNEW;  
Begin  
    DrawText
('Привет!'55);
    
Repaint;     
    
Delay(2000);  
    
fillrect(0,0,ScrW,ScrH);
    
DrawText('ППППППП'55);  
    
Repaint;      
    
Delay(999999999);  
End

Так?

Seregakz 15.07.2008 18:02

Ответ: Фон в Кавас!
 
сам пробовал?))

vitalik1 15.07.2008 18:08

Ответ: Фон в Кавас!
 
да пробовал. Вот:
PHP код:

program NewProject;
begin
   setcolor
(0,0,0);
   
DrawText('Привет!'55); 
   
Repaint;      
   
Delay(2000);
   
setcolor(255,255,255);
   
fillrect(0,0,getwidth,getheight);   
   
setcolor(0,0,0);
   
DrawText('ППППППП'55);   
   
Repaint;       
   
Delay(10000);  
end


Seregakz 15.07.2008 18:17

Ответ: Фон в Кавас!
 
Из за частого использования Repaint; нагрузка небольшая?

vitalik1 15.07.2008 18:25

Ответ: Фон в Кавас!
 
Большая. Но тут меньше репаинтов не получиться.
Просто используй его когда это действительно надо.

Seregakz 15.07.2008 19:09

Ответ: Фон в Кавас!
 
Ну у меня над текст обновлять постоянно
Cоединение
Отправка
Ответ сервера
Отправленно
...

другим методом никак незя?

ViNT 15.07.2008 19:22

Ответ: Фон в Кавас!
 
При каждом обновлении нужен Repaint, без этого никак.
Или можно формы использовать.

Seregakz 15.07.2008 19:49

Ответ: Фон в Кавас!
 
ViNT, тада в фоме не знаеш как картинку и текст под ней сделать по середине экрана?

KeipL 15.07.2008 20:53

Ответ: Фон в Кавас!
 
в самой по себе форме нельзя вставить картинку, вроде...

ViNT 15.07.2008 21:05

Ответ: Фон в Кавас!
 
Можно, с помощью FormAddImage, только с выравниванием намучаешься. Лучше уж на канвас выводить, а перерисовывать только ту часть экрана, где выводится текст.

Romanzes 15.07.2008 22:25

Ответ: Фон в Кавас!
 
Люди, че это за репайнтофобия появилась? В динамичных играх экран перерисовывается 20 раз в секунду и больше. Сама же перерисовка занимает миллисекунды. Конечно, это не значит, что нужно ставить Repaint через каждую строчку :-)

Seregakz 15.07.2008 22:55

Ответ: Фон в Кавас!
 
Цитата:

Сообщение от ViNT (Сообщение 82350)
Можно, с помощью FormAddImage, только с выравниванием намучаешься. Лучше уж на канвас выводить, а перерисовывать только ту часть экрана, где выводится текст.

а где координаты выставлять то? :dontknow:

Romanzes 15.07.2008 23:53

Ответ: Фон в Кавас!
 
Там не надо выставлять координаты. Тел сам решит куда вставить изображение

Seregakz 16.07.2008 01:04

Ответ: Фон в Кавас!
 
Ну необходимо замоздрячить по центру ((

odd 16.07.2008 08:36

Ответ: Фон в Кавас!
 
Вложений: 1
Цитата:

Сообщение от Seregakz (Сообщение 82365)
Ну необходимо замоздрячить по центру ((

Держи библиотеку. Пока там только 1 функция AddImage.
В твоём случае нужно набрать примерно следующее:

PHP код:

AddImage(LoadImage('/icon.png'), 3'Моя иконка'); 


Seregakz 16.07.2008 13:19

Ответ: Фон в Кавас!
 
Круто =)
Мож чуть подправить чтоб была по центру экрана? а не вверху в центе!
и текст был под иконкой а не над ней =)

Seregakz 17.07.2008 17:25

Ответ: Фон в Кавас!
 
Это ваше реально сделать? или нет?
Прост покамись работа встала из за этого :(

ViNT 17.07.2008 21:36

Ответ: Фон в Кавас!
 
Если только сдвигать картинку вставкой текста.
А вообще - используй канвас.

odd 18.07.2008 07:59

Ответ: Фон в Кавас!
 
Вложений: 1
Можно. В формах есть такая вещь как вставка пустого места.
Чувствую, что библиотеку форм надо расширять. Уж больно тема глубокая.
Пока же пиши что-то типа этого:
PHP код:

AddSpacer(17650);
AddImage(LoadImage('/icon.png'), 3'');
AddText('Совет: ''Учи Java.'3); 

Естественно высоту пустого места скорее всего надо будет вычислять под конкретный размер экрана.


Часовой пояс GMT +4, время: 10:02.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot