Bild resize

znysk

Erfahrenes Mitglied
getestet mit *.bmp; *.jpg; *.ico;
kein Problem :*.bmp; *.jpg;
*.ico; streckt er aus irgend einem Grund nich, frag mich nich warum!

Ich hoffe es hat geholfen!

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if opendialog1.Execute THEN
  image1.Picture.LoadFromFile(opendialog1.filename);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  canvas.StretchDraw(rect(strTOint(Edit1.text),strTOint(Edit2.text),strTOint(Edit3.text),strTOint(Edit4.text)),image1.Picture.Graphic);
  //Erzeugt das Bild in Inage1 auf der Grundebene!
  image2.canvas.StretchDraw(rect(strTOint(Edit1.text),strTOint(Edit2.text),strTOint(Edit3.text),strTOint(Edit4.text)),image1.Picture.Graphic);
  //Erzeugt das Bild in Inage1 auf der ebene in Image2!
  //wenn du die Coordinaten wieder verkleinerst, verschwindet das Bild eigentlich, nur die Aktuellen Pixel werden solange nicht aktualliesiert, wie nötig!
  //wenn z.B. eine Fläche drüberfährt, z.B. das Open Fenster, dann wird die Fläche wieder grau!
  //im Imagefeld is's nich so einfach aber das soll ja nur ein Aha Programm sein!
end;

Die *.exe konnte ich leider nich hochladen! (auch 270 kb *.ZIP)
 

Anhänge

  • ahaprog.zip
    5,5 KB · Aufrufe: 32

AKM<2b>

Erfahrenes Mitglied
Ja danke für die neuen Gedankenanstöße... Wenn ich zeit hab werd ichs sofort testen. Ich wollte mein Delphi schon deinstallieren aber jetzt ist wieder ein Licht am Ende des schwarzen tunnels...
Ich meld mich dann wieder..

Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke Danke

2b

//edit
Da fällt mir doch spontan noch ne neue frage ein.
Wie sieht das eigentlich mit gifs Tifs und so weiter aus. gibts da ein "Plugin" für Delphi??? Wenn schon Picture Viewer mit slideshow, dann richtig...
 
Zuletzt bearbeitet:

znysk

Erfahrenes Mitglied
Keine Ahnung wie das mit *.gif's aussieht, standardmäßig sind die ja nich mit integriert, aber so nen "Plug-in" gibs sicherlich, frag mich bitte nich wo?
 
D

dahead

also ich hab mal das obige gelesen, und hoffe, dass ich alles richtig verstanden habe.

also, da das ja mit dem resizen geht, hier noch einige möglichkeiten
1. stretch = true und align = alclient
2. das bitmap runterrechnen, d.h. bild laden, pixel für pixel in neues bild schreiben (also nicht pixel für pixel, sondern eben nur jeden 1,3 pixel oder so). hier ein beispiel aus einem screencapture programm von mir:

var nwfactor, nhfactor: Integer;
Screencapture: TBitmap;
begin
nwfactor := ScreenCapture.Width div res_x;
nhfactor := ScreenCapture.Height div res_Y;
Width := res_x;
Height := res_y;

for I := 0 to res_x do
for F := 0 to res_y do
Canvas.Pixels[I, F] := ScreenCapture.Canvas.Pixels[I*nwfactor, F*nhfactor];
end;

(code einigermaßen komplett)

-> man deinstalliert delphi nicht, nur weil was (wie immer auf den ersten blick) nicht funktioniert. delphi kann alles, schließlich ist es eine programmiersprache (ok, asm kann mehr...).

-> icons kann delphi nicht bearbeiten, liegt an format (hab vor jahren mal ein icon-editor programmieren wollen...). zu viel aufwand...

-> für andere dateiformate kann man komponenten runterladen (wie immer torry.ru). z.b. janfx ist für grafikbearbeitung, unibmp glaube ich für neue dateiformate, weiss ich aber nicht mehr sicher.

am besten programmiert man die selber (hoffentlich ist es opensource...), d. h. ich rate auch von komponenten ab.

-> tipp für menschen mit negativer einstellung: man sollte egtl. nie etwas programmieren wollen, das es so schon gibt (clones). gründe es doch zu tun wären: dateigröße, freeware/shareware oder neue features. sonst würde ich das 'slideshow'-projekt einstellen (s. Irfan-View).
tut mir sehr leid.
 

denim

Grünschnabel
keine ahnung wie alt dieser thread ist, aber dazu muss ich dann doch noch was sagen:

-> tipp für menschen mit negativer einstellung...

Aha, dann sage ich jetzt am besten mal linux und mac bescheid, oder was?

Meine persönlich Meinung dazu ist, wenn sich jemand von so einem Programm inspriert fühlt, dann soll er anfangen das selbe zu schreiben, denn daraus entwicklet man erst recht die besseren Programme und Ideen!

Gruss,
Denim