Einzelnen Beitrag anzeigen

Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#19

Re: kein ZEichnen auf vergrößerten Image

  Alt 23. Jun 2008, 21:58
ich frage mich grade, warum du erst die differenz ausrechnest und dann diese zu der aktuellen größe hinzuaddierst...
warum nicht einfach

Delphi-Quellcode:
if image.width<>breite then
  image.width:=breite;
if image.height<>hoehe then
  image.height:=hoehe;
image.graphic wird imho mit vergrößert, muss also nicht extra gemacht werden.

ich hab mal ne einfachere Version mit angehängt...was das Prinzip mal verdeutlicht und in bitBlt/stretchBlt einweist.

deine zeichenroutinen für die Noten musst du dann natürlich ins redraw reinhauen, bei Größenänderung LoadBGImage aufrufen, bei Notenänderung/erweiterung nur redraw.

wobei ich mich grade frage, warum du ein Hintergrundbild brauchst (wegen den linien?), was du relativ rechenintensiv strecken müsstest. die könntest auch malen

so in etwa:

Delphi-Quellcode:
for i:=1 to 5 do
begin
  canvas.moveTo(0,i*10);
  Canvas.LineTo(width,i*10);
end;
nicht viel Arbeit, oder?

//Edit
gut, man könnte das jetzt noch aufbohren und gleich mehrzeilig machen (wollte das jetzt einfach mal ausprobieren).

Delphi-Quellcode:
var i,j,y:integer;
const Ytop=20; //Abstand von oben
      YDiff=30; //abstand der zeilen
      LCount=5; //5 linien pro zeile
      LSpace=10; //Abstand der Linien in einer Zeile
      RowCount=5; //5 zeilen
begin
  for j:=0 to rowCount-1 do
  begin
    for i:=0 to LCount-1 do
    begin
      y:=Ytop+(j*YDiff)+(j*LCount*LSpace)+i*LSpace;
      canvas.moveTo(0,y);
      Canvas.LineTo(width,y);
    end;
  end;
end;
@extrem: klar, stimmt ja
aber ich kam noch nie auf die idee, das TGraphic-Objekt einer TImage-Kompo zu verändern war irgendwie gedanklich beim canvas, was "mitwächst".

Gruß Frank
Angehängte Dateien
Dateityp: zip offscreen-bitmap_165.zip (119,4 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat