AGB  ·  Datenschutz  ·  Impressum  







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

Zeichnen auf Image mit zoom

Ein Thema von thomas2009 · begonnen am 29. Apr 2011 · letzter Beitrag vom 30. Apr 2011
Thema geschlossen
thomas2009
(Gast)

n/a Beiträge
 
#1

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 00:02
Oder man rechnet die prozentuale Größe vorher aus und nimmt dann z.B. mein StretchGraphic.
Schon getestet. es ist OK
Der Code aber kann nur vergrössern, da du Integer verwendest für desWidth, desHeight
Ich versuche nun deinen Code zu ändern, so dass ich auch den Grafik verkleinern kann
StretchGraphic(Image2.Picture.Graphic,Image1.Picture.Graphic, w*zoom, h*zoom);

Geändert von thomas2009 (30. Apr 2011 um 00:07 Uhr)
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.538 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 00:08
Falsch, sein Code kann auch verkleinern.
Der Typ hat hier rein garnichts mit dem Vergrößerungs-/Verkleinerungsfaktor zu tun, da dort nicht der Faktor angegeben wird, aber egal...

Wenn man den wichtigen Teil aus seinem Code rausnimmt, die Berechnung des Faktors übergeht und seinen Faktor direkt verwendet, dann ist es schon richtig so.
Ein Therapeut entspricht 1024 Gigapeut.
 
thomas2009
(Gast)

n/a Beiträge
 
#3

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 00:50
Ich muss die neue Breite und die neue Höhe vorher je nach dem angegeben Faktor berechnen

Ich habe folgendes gemacht :
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
NewWidth, NewHeight : Integer;
begin
zoom:=StrToFloat(Edit1.Text);
NewWidth:=Round(zoom*Image2.Picture.Width);
NewHeight:=Round(zoom*Image2.Picture.Height);
//StretchGraphic(Image2.Picture.Bitmap,Image1.Picture.Graphic, 300, 300);
StretchGraphic(Image2.Picture.Graphic,Image1.Picture.Graphic, NewWidth, NewHeight);
end;
Also mit dem skalieren ist nun kein Problem
Nun möchte ich auf dem skalierten Image zeichnen
d.h. ich muss auch beim zeichnen alles * zoom multiplizieren
zum Beispiel : Image2.canvas.pen.Width:=1*zoom
Beim Vergrössern ist kein Problem aber was wäre beim Verkleinern ? Wenn ich das Image 2 mal verkleinern wie breit soll Image.canvas.pen.Width sein ?
 
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.538 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 00:53
Zitat:
Wenn ich das Image 2 mal verkleinern wie breit soll Image.canvas.pen.Width sein ?
Halbsobreit?


Wie wäre es, wenn du vor einfach dem verkleiner alles darauf zeichnest?

Originalbild > neues Bild mit Draufgezeichnetem > gezoomtes Bild
Ein Therapeut entspricht 1024 Gigapeut.
 
thomas2009
(Gast)

n/a Beiträge
 
#5

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 01:02
Noch ein mal
beim zoom 100% (kein Zoom) ist beim Zeichnen die canvas.pen.width :=1; also 1 Pixel

Nun möchte ich das Bild 50% verkleinern (Faktor=0,5)
bei diesem zoom möchte auf das Image zeichnen
wie kann ich eine pen.Width von 0,5 pixel eingeben !

Beim Vergrössern ist ja kein Problem

Geändert von thomas2009 (30. Apr 2011 um 01:04 Uhr)
 
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#6

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 01:07
Was meinst du denn, wie ein halber Pixel so aussieht?

Aber das ist am Ende Kinderkram. Ich manipuliere halbe Bits, das ist Hard-Mode für echte Profis!
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
 
thomas2009
(Gast)

n/a Beiträge
 
#7

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 01:25
Darum ist das Zoomen bei MS Paint beschränkt
nur vergrössern erlaubt
Angehängte Grafiken
Dateityp: jpg zoom_mspaint.JPG (13,2 KB, 18x aufgerufen)
 
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#8

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 07:05
Der Code aber kann nur vergrössern, da du Integer verwendest für desWidth, desHeight
Nur mal so nebenbei: ich hatte den Code ursprünglich geschrieben, weil ich Grafiken verkleinern wollte
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
 
Thema geschlossen


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 22:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz