| Autor | Správa |
tomas0620
 Užívateľ
 Založený: 13.12.2009 Príspevky: 62
 | Zaslal: Ne 05.06.11 11:57 |   |
Prosim vas nevedeli by ste mi povedať odkial mozem stiahnut unit TJPEGImage??? voliak to nemozem najst  |
| |
   |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Ne 05.06.11 12:08 |   |
|
  |
 |
tomas0620
 Užívateľ
 Založený: 13.12.2009 Príspevky: 62
 | Zaslal: Ne 05.06.11 12:27 |   |
??? nechapem .... sory som len zaciatocnik .... mame to prvy rok na skole |
| |
   |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Ne 05.06.11 13:16 |   |
no predpokladam ze sa jedna o programovanie v prostredi delphi. ak ano tak komponenta TJPEGImage je sucastou instalacie delphi . hladaj subor jpeg.pas v adresari kde mas nainstalovane delphi v podadresari "\Source\Extras\Jpeg" |
| |
  |
 |
tomas0620
 Užívateľ
 Založený: 13.12.2009 Príspevky: 62
 | Zaslal: Ne 05.06.11 13:35 |   |
prepac no ja v Source nemam ani zlozku Extras neviem preco... ..co teraz?
// pridané po 10 minútach od posledného príspevku
A este mam jeden problem ... mam program, v ktorom viem ''kreslit'' (ciary, gulicky , elipsa) .... vsetko mi ide len ked dam elipsu tak mi ju sice vykresli, no zaroven mi prekryje vsetko co je pod nou .... vedeli by ste mi poradit co mam spravit aby sa vykreslila len elipsa bez vyplne? proste aby neprekryla vseko co je pod nou .... tu je kod programu:
| kód: | implementation
{$R *.dfm}
var
Kreslenie:Boolean=False;
farba, x1, y1, x, y:integer;
pis:integer=1;
procedure TForm1.Otvori1Click(Sender: TObject);
begin
Showmessage('Pozor! Môžete otvárať len obrázky s príponou .bmp');
if OpenDialog1.Execute then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end;
procedure TForm1.Uloi1Click(Sender: TObject);
begin
Showmessage('Obrázok uložíte tak, že za názov dopíšete .bmp');
if SaveDialog1.Execute then
Image1.Picture.SaveToFile(SaveDialog1.FileName);
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Vyisti1Click(Sender: TObject);
begin
Image1.canvas.FillRect(image1.ClientRect);
Edit1.Text:='1';
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x1:=x;
y1:=y;
Kreslenie:=True;
image1.Canvas.Pen.Width:=StrToInt(Edit1.Text);
Image1.Canvas.MoveTo(X,Y);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift = [ssLeft]then
case pis of
1:Image1.canvas.LineTo(X,Y);
2:begin
Image1.Canvas.Pen.Color:=clwhite;
Image1.Canvas.Rectangle(x1,y1,x,y);
Image1.Canvas.Pen.Color:=farba;
Image1.Canvas.Ellipse(x1,y1,x,y);
end;
3:begin
Image1.Canvas.Pen.Color:=farba;
Image1.Canvas.Ellipse(x1,y1,x,y);
end;
end;
if Shift = [ssRight] then Image1.Canvas.Ellipse(X-7,Y-7,X+7,Y+7);
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Kreslenie:=False;
end;
procedure TForm1.Kresli1Click(Sender: TObject);
begin
if ColorDialog1.Execute then
image1.Canvas.Pen.Color:=ColorDialog1.Color;
farba:=ColorDialog1.Color;
end;
procedure TForm1.Elipsa1Click(Sender: TObject);
begin
pis:=2;
end;
procedure TForm1.iara1Click(Sender: TObject);
begin
pis:=1;
end;
procedure TForm1.Guliky1Click(Sender: TObject);
begin
pis:=4;
end;
procedure TForm1.Elipsa21Click(Sender: TObject);
begin
pis:=3
end; |
Mam to sice tak, ze vykresli obdlznik/stvorec a nan elipsu ale aj bez toho mi vsetko prekryje ...
Ak by toto nestacilo tu je cely program: http://www.ulozto.sk/9232146/kreslenie-rar |
| |
   |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Ne 05.06.11 14:01 |   |
aha aku verziu delphi mas ?
// pridané po 25 minútach od posledného príspevku
skus rozne pen mody  |
| |
  |
 |
tomas0620
 Užívateľ
 Založený: 13.12.2009 Príspevky: 62
 |
No mam Delphi7 Personal
Verzia7.0 (Build 4.453)
A nakolko som len zaciatocnik tak neviem ako myslis rozne pen mody - take nieco som este nerobil tak neviem ako na to |
| |
   |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Po 06.06.11 10:25 |   |
|
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Po 06.06.11 10:54 |   |
Najprv k tomu kresleniu, lebo iba zmenou penu to asi nebude stacit. Robi sa to tak, ze vzdy ak kliknes na platno, uchovas si povodnu kresbu platna a kazdym pohybom mysi sa preklesli platno na predchadzajuci vzhlad a potom sa nakresli elipsa. Vytvori sa tak pozadovany dojem, akoby si kreslil meniacu sa elipsu (alebo iny utvar).
Do svojho projektu iba dopln nasledujuce:
| kód: | procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
x1:=x;
y1:=y;
Kreslenie:=True;
image1.Canvas.Pen.Width:=StrToInt(Edit1.Text);
Image1.Canvas.MoveTo(X,Y);
zaloha := TBitmap.Create;
zaloha.Assign( Image1.Picture );
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image1.Canvas.Brush.Style:= bsClear;
if Shift = [ssLeft]then
case pis of
1:Image1.canvas.LineTo(X,Y);
2:begin
Image1.Canvas.Draw( 0, 0, zaloha );
Image1.Canvas.Pen.Color:=clwhite;
Image1.Canvas.Rectangle(x1,y1,x,y);
Image1.Canvas.Pen.Color:=farba;
Image1.Canvas.Ellipse(x1,y1,x,y);
end;
3:begin
Image1.Canvas.Draw( 0, 0, zaloha );
Image1.Canvas.Pen.Color:=farba;
Image1.Canvas.Ellipse(x1,y1,x,y);
end;
end;
if Shift = [ssRight] then Image1.Canvas.Ellipse(X-7,Y-7,X+7,Y+7);
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Kreslenie:=False;
zaloha.Free;
end; |
// Vytvorenie a rusenie bitmapy zaloha by som ale radsej odporucal dat do OnCreate a OnDestroy formulara. Takto som ti to dal iba na ukazku, presun si to uz sam.
K problemu s unitomom TJPEGImage: ten sa zrejme nachadza az vo verzii Enterprice, takze ho zrejme legalnou cestou nezozenies. Napis nam, na co potrebujes prave tento unit, mozno ti dokazeme najst ine riesenie. |
| |
   |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Po 06.06.11 12:02 |   |
| Fico napísal: | | Najprv k tomu kresleniu, lebo iba zmenou penu to asi nebude stacit. |
pmMask |
| |
  |
 |
|