Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.ru

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Как изменить комп-т (для отображения ИЗО в Png формате) [Delphi, Windows]


RusSun ©   (20.03.17 21:01

Доброе время суток, всем привет!
Вопрос:
Как изменить комп-т TKOLImageShow(для отображения ИЗО в Png формате)
или как реализовать в программе?
Что есть:

program Project1;

uses kol,windows;

{$R *.res}
var
form,button:PControl;
Plan: TKOLImageShow;
Fon:TKOLImageList;

procedure clickbutton1(dummy:pointer;Sender:PControl; var mouse:TMouseEventData);
begin
//Msgok('');
  Plan.Canvas.RequiredState( brushvalid );
   Plan.Canvas.Brush.Color := $00DCDC78;
   Plan.Canvas.FillRect(MakeRect(0,0,15,450));
end;
procedure PlanPaint(dummy:pointer;Sender: PControl; DC: HDC);
var i:byte;
begin
   Plan.Canvas.RequiredState( brushvalid );
   Plan.Canvas.Brush.Color := $00DCDC78;
   Plan.Canvas.FillRect(MakeRect(0,0,725,450));

{ for i := 1 to  22 do  //22
   begin
   PB.DrawTransparent(Plan.Canvas.handle, px1[i],py1[i],$FFFFFF);
   PJ.DrawTransparent(Plan.Canvas.handle, px2[i],py2[i],$FFFFFF)
   end;  }
   Plan.Update;
   Plan.Invalidate;
end;

Begin
form:=NewForm(Applet,'шаблон').SetclientSize(736, 534).setposition(330,300);
Form.Color := TColor($DCDC78);
(*Result.*)Form.Font.FontHeight := -11;
Form.Font.FontName := 'MS Sans Serif';
Form.Border := 0;

Button:=NewButton(form,'Выполнить').SetSize(90,30).SetPosition(25,432);

Fon := NewImageList( Form );
Fon.Colors := ilcColor24;
Fon.ImgWidth := 623;
Fon.ImgHeight := 347;
{$R Form1_Fon.res}
Fon.AddMasked( LoadBmp32( hInstance, 'FORM1_FON', Fon ), $5F89BE );

Plan := NewImageShow(Form, Fon, 0 ).SetPosition( 51, 51 ).SetSize( 623, 347 );
Plan.HasBorder := TRUE;
Plan.Color := TColor($4571A7);
//Plan.OnPaint :=TOnPaint(MakeMethod(nil,@PlanPaint));
//.centeronparent.Tabulate;
//область для работы

Applet := NewApplet('');
Button.OnClick:=TonEvent(MakeMethod(nil,@clickbutton1));
Run(form);

end.



program Project1;

uses
Windows,KOL,KOLPng,KOLZLib;
{$R *.res}
{$R Make_png.RES}
type
PForm1 = ^TForm1;
TForm1 = object(TObj)
  Form: PControl;  //,Button1
   Fond: pControl;      //NewPaintBox
public
 //procedure Button1Click(Sender: PObj);
 procedure fondPaint(Sender: PControl; DC: HDC );
end;

var
Form1: PForm1;
png:PPngObject;

procedure TForm1.fondPaint(Sender: PControl; DC: HDC );
begin
if png <> nil then png.Draw(Fond.Canvas.Handle,0,0) else exit
end;

{procedure TForm1.Button1Click(Sender: PObj);
begin

end;}

procedure NewForm1(var Result: PForm1; AParent: PControl);
begin
New(Result, Create);
with Result^ do
begin
  Form := NewForm(AParent, 'Resurs Fanorona');
  Form.Add2AutoFree(Result);
  Applet := Form;

  if png = nil then png :=NewPngObject;

  png.LoadFromResourceName(HInstance,'img');

  Form.SetClientSize(png.Width, png.Height).CenterOnParent;
  Result.Fond := NewPaintBox( Form ).SetPosition( 0, 0 ).SetSize( 320, 240 ).SetBorder( 2);
         Result.Fond.HasBorder := TRUE;
   Result.Fond.OnPaint :=FondPaint;

    Fond.Height:=png.Height;
    Fond.Width:=png.Width;

  (* Button1 := NewButton( Form, 'Click' ).SetPosition( 22, 8 ).SetSize( 0, 26 );
       {$IFDEF UNICODE_CTRLS}
   Button1.SetUnicode(TRUE);
       {$ENDIF UNICODE_CTRLS}
   Button1.OnClick := Button1Click; *)

end;
end;

begin
NewForm1(Form1, nil);
Run(Form1.Form);
end.

Для чего имеется план использовать:
хотелось бы совместить отрисовку и перемещение объекта.


RusSun ©   (22.03.17 18:53[1]

Задумка такая хочу переписать следующее на KOL:
https://yadi.sk/d/p3uLVYJw3GFZwr
Вот попытка не совсем удачная:
https://yadi.sk/d/mwScXqQN3GFag6
Дело в том, что основной размер идет от "веса" игрового поля.
Есть и другие вопросы, но пока руки до этого не дошли.)


DKOL   (23.03.17 11:56[2]

RusSun, несколько раз перечитал первое сообщение, но так и не понял в чем проблема...


> TKOLImageShow(для отображения ИЗО в Png формате)

Что есть ИЗО?

Хотите юзать не bmp, а png? И зачем именно TKOLImageShow?


RusSun ©   (23.03.17 19:02[3]

ИЗО -изображение в данном случае png формате.

Хотите юзать не bmp, а png? так он меньше "весит"+ не лостлесс по сравнению с jpeg.
TKOLImageShow как пример, нужно просто загрузить и чтобы отрисовка работала сама.


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо