AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bildgröße zur Laufzeit ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Bildgröße zur Laufzeit ändern

Ein Thema von Root2k · begonnen am 4. Jul 2011 · letzter Beitrag vom 4. Jul 2011
 
Root2k

Registriert seit: 7. Jun 2011
Ort: Ulm
49 Beiträge
 
Delphi XE Enterprise
 
#1

Bildgröße zur Laufzeit ändern

  Alt 4. Jul 2011, 12:43
Hallo,

gleich mal vorweg: Ich habe zu meinem Problem schon im Internet gesucht, aber leider keine Lösung gefunden. Weiterhin ist zu sagen dass ich mit Delphi sehr wenig Erfahrung habe und mich hier gerade erst einlerne.

Folgendes habe ich bereits gemacht:
- Neue Form angelegt
- Drag&Drop: TImage32-Objekt + Laden eines Bildes (über Bitmap32-Editor)

Jetzt will ich die Größe des Bildes zur Laufzeit ändern. D.h. das Bild soll also größer oder kleiner dargestellt werden, als es tatsächlich ist. Ich will also nicht die tatsächliche Größe des Bildes (auf dem Speichermedium) ändern, sondern ich will das Bild in meiner Anwendung (temporär) neu skalieren.

Ich hab das jetzt über verschiedene Wege versucht, aber leider wird das Bild jedes Mal schwarz wenn ich es neu skalieren will.

Hab hierzu mal eine kleine Beispielanwendung geschrieben.
Am Anfang wird hier ein Bild geladen und auch korrekt angezeigt. Wenn ich jetzt auf den angelegten Button klicke wird der Anzeigebereich zwar auf die 100x100 Pixel skaliert, aber das Bild ist nur noch schwarz.

Kann mir einer sagen was ich hier machen muss damit das Bild skaliert angezeigt wird?
Hab langsam echt kein Plan mehr was ich noch probieren könnte.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, GR32_Image, StdCtrls, Buttons, JvExButtons, JvButtons;

type
  TForm1 = class(TForm)
    imageWindow: TImage32;
    btnScale: TJvHTButton;
    procedure btnScaleClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.btnScaleClick(Sender: TObject);
begin
  imageWindow.Bitmap.Height := 100;
  imageWindow.Bitmap.Width := 100;
end;

end.
Ausgabe:
http://imageshack.us/photo/my-images/811/vorher.jpg/
http://imageshack.us/photo/my-images/228/danach.jpg/

PS: Mit den Methoden Repaint, Resized, Refresh, etc. hab ichs auch schon probiert, aber die haben mir auch nicht weitergeholfen.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz