AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Canvas TImage???

Ein Thema von Mooshead · begonnen am 16. Mär 2008 · letzter Beitrag vom 16. Mär 2008
Antwort Antwort
Mooshead

Registriert seit: 27. Jul 2007
32 Beiträge
 
#1

Canvas TImage???

  Alt 16. Mär 2008, 10:49
Hallo,

folgendes Problem:

Delphi-Quellcode:
  Image1.LoadFromFile(Pfad.jpg);
  Image1.Canvas.MoveTo(x,y);
  Image1.Canvas.LineTo(x,y);
  ...
Dann bekomme ich die Meldung:
Zitat:
Can only modify an image if it contains a bitmap
Wie kann ich das umgehen wenn es sich bei dem Bild um ein jpeg handelt?

Viele Grüße
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:27
diese frage habe ich auch schon mal gestellt^^, benutze am besten die suchfunktion.
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:31
Hallo,

hast du uses Jpeg; hinzugefügt?
EDIT: Du musst das Jpeg Image in ein Bitmap umwandeln.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Mooshead

Registriert seit: 27. Jul 2007
32 Beiträge
 
#4

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:35
Ja das hab ich auch schon versucht aber ich weiß nicht genau wie das geht.

uses jpeg ist drin
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:41
Delphi-Quellcode:
var
  jpg: TJPEGImage;
begin
  jpg:= TJPEGImage.Create;
  try
    jpg.LoadFromFile(op.FileName);
    image1.Picture.Bitmap.Assign(jpg);
  finally
    jpg.Free;
  end;

  Image1.Canvas.MoveTo(0,0);
  Image1.Canvas.LineTo(80,80);
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Mooshead

Registriert seit: 27. Jul 2007
32 Beiträge
 
#6

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:49
Vielen Dank so klappts
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Canvas TImage???

  Alt 16. Mär 2008, 11:58
Oder:

Delphi-Quellcode:
procedure ConvertImageToBitmap(Image: TImage);
var TmpPic: TPicture;
begin
  TmpPic := TPicture.Create;
  try
    TmpPic.Bitmap.Assign(Image.Picture.Graphic);
    Image.Picture.Bitmap.Assign(TmpPic.Bitmap);
  finally
    TmpPic.Free;
  end;
end;

procedure FormXYZ.Bla;
begin
  Image1.LoadFromFile(Pfad.jpg);
  ConvertImageToBitmap(Image1);

  Image1.Picture.Bitmap.Canvas.MoveTo(x,y);
  Image1.Picture.Bitmap.Canvas.LineTo(x,y);

  { Besser Schaut's so aus:

  if Assigned(Image1.Picture.Bitmap) then
    with Image1.Picture.Bitmap do
    begin
      Canvas.MoveTo(x,y);
      Canvas.LineTo(x,y);
    end;

  }

  
  Image1.Invalidate;
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:41 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