AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zeichnen auf Image mit zoom

Ein Thema von thomas2009 · begonnen am 29. Apr 2011 · letzter Beitrag vom 30. Apr 2011
Thema geschlossen
Seite 1 von 2  1 2   
Benutzerbild von wicht
wicht

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

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 02:04
Wenn du zuweit heraus zoomst, muss der Pixel unsichtbar werden. Wenn er immer angezeigt werden soll musst du eben etwas rechnen und ihn auf dem verkleinerten Bild malen. Er passt dann zwar nicht ganz zu den Abmessungen des Bildes, aber malen kann man ihn trotzdem.
Sorry, habe gerade leider gerade keine Zeit, dir hier ein Programm im Anhang zu Posten, was dein Problem löst.

Verdammt. Ich lasse mich hier schon wieder drauf ein. Ich bin erstmal wieder raus.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 02:41
Sorry, aber hier sollte echt erst mal überlegt werden, was denn überhaupt gewollt wird. Vor allem, was Zoom In bzw. Zoom Out in gewissen Situationen bedeutet, ebenso was dann eben der Zustand des Bildes vorher und nachher ist.

Zitat:
wie kann ich eine pen.Width von 0,5 pixel eingeben !
Geht nicht! Punkt.

Zitat:
Beim Vergrössern ist ja kein Problem
Die Aussage zeigt schon mal wieder, dass du nicht wirklich darüber nachgedacht hast. Was passiert denn, wenn jemand einen Ansicht von 125% haben will? Wie rechnest du das dann?

Es gibt nur ganze Pixel, außer du benutzt Subpixelrendering, wobei ich dir nicht zumute, dass du das umsetzen kannst.

Lass das ganze doch einfach TImage für dich umrechnen und geb dich mit dem Ergebnis zufrieden. Wie mkinzler schon erwähnt hat: du hälst ein Original-Image im Speicher und ein anderes zeigst du entsprechend geändert an. Das im Speicher hat immer die "Zoom-Stufe 1" und du kannst dort dann auch mit einer Pen-Width von 1 zeichnen. Danach machst du ein Assign und fertig ist die Welt. Aber frag jetzt um Gottes will nicht nach Code...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
 
thomas2009
(Gast)

n/a Beiträge
 
#3

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 15:01
Was passiert denn, wenn jemand einen Ansicht von 125% haben will? Wie rechnest du das dann?
Wer erlaubt dem Anwender einen beliebigen Skalierfaktor zu verwenden ?
die Antwort: Ich nur
Bei MS Paint wie ich geschildert habe macht genauso
Ich gebe die Möglichkeit bei Zoom nur : 2x, 4x, 6x, 8x, 10x

Beim Verkleinern habe ich auch den Trick gefunden um das Image zu verkleinern. Den Code habe ich schon hingelegt.
Was aber nicht gelöst ist das Zeichnen auf das Image mit einem Skalierfaktor kleiner als 1

Nur mal so nebenbei: ich hatte den Code ursprünglich geschrieben, weil ich Grafiken verkleinern wollte
Wir sind aber eine Schritt weiter @deddyH.
Und zwar das Zeichnen auf das Image mit einem kleinen Skalierfaktor. Ich meine wie wird cancas,pen.width dargestellt ?
Meine Idee, was ich gerade tue:
Aber Faktor <1 bleibt canvas.pen.width:=1
Und aber Zoom (Faktor) > 1 then
canvas.pen.width:=canvas.pen.width*zoom

Geändert von thomas2009 (30. Apr 2011 um 15:06 Uhr)
 
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 15:36
Mal ne Frage: Wie meinst du, macht Paint das mit dem Malen, während du das Bild vergrößert hast? - In irgendeinem Tutorial dafür steht:
Zitat:
Male nicht auf das vergrößerte Bild, sondern rechne die Koordinaten um und male auf das Ursprungsbild.
So hast du auch nicht das Problem, welches auftritt, wenn du dein Bild auf 50% der Fläche reduzierst und dann wieder vergrößerst.

Kleiner Hinweis: Wenn du ein skaliertes Bild zurück in die Ausgangsgröße skalierst, dann ist es nicht mehr das selbe Bild!

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
 
thomas2009
(Gast)

n/a Beiträge
 
#5

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 16:06
Kleiner Hinweis: Wenn du ein skaliertes Bild zurück in die Ausgangsgröße skalierst, dann ist es nicht mehr das selbe Bild!
Bernhard
Stimmt.
Beim Zoomen erstelle skaliere ich das Image (natürlich vorher Kopie als Sicherung erstellen) und drauf zeichnen

In der Tat, es wird nicht nur auf Image1 (das skalierte Bild) sondern auch auf das originale gezeichnet, was ich vordem skalieren entweder in Speicher was @DeddyH vorgeschlagen hat oder (und das mache ich ) in einer externe Form als Kopie

d.h. alles was ich beim zoomen auf das skalierte Bild zeichne, wird gleichzeitig am gleichen Zeit auf das originale gezeichnet
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 16:09
Dann hast du ganz einfach keine Kopie! Schau dir dies bzgl mal die Methoden Assign() an.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 15:47
Was aber nicht gelöst ist das Zeichnen auf das Image mit einem Skalierfaktor kleiner als 1
Jetzt erzähl mir doch mal, was daran eigentlich so schwer ist seinen eigenen Kopf mal einzuschalten? Zumal schon mindestens eine Lösung gepostet wurde, nur du bist scheinbar nicht in der Lage diese zu erkennen und umzusetzen. Tu hier doch jedem den Gefallen und lass es einfach
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
 
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 15:59
Es nervt langsam..

Ich meine nicht Thomas sondern alle die welche sich in diversen Threads über ihn ausgelassen haben
und trotzdem noch auf seine Fragen Antworten um sich anschließend wiedermal über ihn auslassen
und das Thema ins Nirvana (OT) schicken.

IGNORIERT seine Threads doch einfach.

gruss
 
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 16:00
Ich meine nicht Thomas sondern alle die welche sich in diversen Threads über ihn ausgelassen haben
und trotzdem noch auf seine Fragen Antworten um sich anschließend wiedermal über ihn auslassen
und das Thema ins Nirvana (OT) schicken.

IGNORIERT seine Threads doch einfach.

gruss
 
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#10

AW: Zeichnen auf Image mit zoom

  Alt 30. Apr 2011, 16:02
Vielleicht hilft das ganz ja mal und es beginnt eine Zeit der Einsicht
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
 
Thema geschlossen
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:33 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