powiększenie image podczas pracy programu,problem z wyświetl

0

mam problem z image, gdy w trakcie działania programu zmieniam rozmiary image, rzeczy nadal są wyświetlane jedynie w obszarze ,który powstał wraz z uruchomieniem programu, natomiast nowy który dodaje w trakcie pracy programu ma inny kolor i jest jakby nie używany.

0

do pewnego mementu rozumiem Twoje pytanie, ale pozniej:

fr3on napisał(a)

[...] natomiast nowy który dodaje w trakcie pracy programu ma inny kolor i jest jakby nie używany.

ale co nowy? obszar, obraz, image..? opisz dokladniej w czym rzecz, i najlepiej rzuc jakims kodem.

0

Napisz jeszcze raz po polsku o co Tobie chodzi i co chcesz uzyskać,
to może ktoś będzie w stanie odpowiedzieć Tobie coś konkretniej ;/

EDIT: no i znowu mnie cimak ubiegł - nie odświeżyłem zakładki i nie
zawuażyłem że jest nowy post, ale On też nie do końca wiedzial ocb.

0
  
Image3.Canvas.LineTo(wykres_y, 355-wykres_x*50);
  Image3.Canvas.MoveTo(wykres_y, 355-wykres_x*50);
  wykres_x := 0;
  wykres_y := wykres_y + 5;
  if wykres_y >= Image3.Width then
    Image3.Width:= Image3.Width + 100;

Chodzi o nowo powstały obszar, po dodaniu tych 100 pikseli nie mogę na nim nic narysować

0

sprawdz image1.picture:=nil przed zmiana rozmiaru i narysowaniem.

//edit: sprawdzilem, powiekszy obszar ale zamaze to co dotychczas bylo namalowane. mozesz albo przemalowac, albo zrobic inny "patent":
zapisac gdzies w pamieci to, co jest narysowane, powiekszyc obszar, narysowac to co w pamieci, zwolnic pamiec:

procedure TForm1.Button3Click(Sender: TObject);
var b:TBitmap;
    p:TPoint;
begin
b:=TBitmap.Create;
b.Assign(image1.Picture.Bitmap);
p:=image1.Canvas.PenPos; //bo przy czyszczeniu traci sie tez informacje o aktualnej pozycji piora...
image1.Width:=350;
image1.Height:=250;
image1.Picture:=nil;
image1.Canvas.Draw(0,0,b);
image1.Canvas.PenPos:=p;
b.Free;

image1.Canvas.LineTo(300,50);
end;
0

bez zmiany, poza tym że trace to co było wcześniej narysowane.

0
fr3on napisał(a)

bez zmiany, poza tym że trace to co było wcześniej narysowane.

napisales akurat jak edytowalem swoj poprzedni post... sprawdz ten kod.

0

wielkie dzięki , działa [green]

1 użytkowników online, w tym zalogowanych: 0, gości: 1