AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Image vergrößern wie bei MS-Paint
Thema durchsuchen
Ansicht
Themen-Optionen

Image vergrößern wie bei MS-Paint

Ein Thema von matashen · begonnen am 8. Okt 2007 · letzter Beitrag vom 9. Okt 2007
Antwort Antwort
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#1

Image vergrößern wie bei MS-Paint

  Alt 8. Okt 2007, 13:57
Hallo zusammen,

der Titel ist vieleicht etwas doof gewählt,

aber zu meinem Problem:
Hab hier ein kleines Zeichenwerkzeug gebaut, benötige dafür eine Zoomfunktion. Mir würde da sowas wie in Paint vorschweben, also Zoomstufen 200%, 400%, 800%. Ich möchte aber beim Zeichnen dann nicht ständig prüfen müssen welche Nachbarpixel ich noch manipulieren muss. Weis jemand wie MS-Paint das macht.

Gruß Matthias

PS: Hab die Hilfe schon in sämtlicher Suchwörterfolge bemüht aber leider nix brauchbares gefunden
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

Registriert seit: 21. Dez 2005
146 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Image vergrößern wie bei MS-Paint

  Alt 8. Okt 2007, 14:00
Wie wäre es mit einem DrawGrid? Ähnlich wie hier.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Image vergrößern wie bei MS-Paint

  Alt 8. Okt 2007, 14:07
Gefällt mir nicht so, möchte eigentlich vermeiden das ich beim Manipulieren des Bildes (Zeichnen) ständig das Bild in einem anderem "Raum ansprechen muss" - Wird bei mir dann kompliziert. Sowas wie "Imagepaintdouble" gibts nicht?
Manipuliere damit Elektronikpläne und die Daten dazu können umfangreich sein.

Hat noch jemand ne andere Idee.

Nochmal die Frage: wie macht MS-Paint das - dort werden doch nur MS-Boardmittel verwendet die ich nicht kenne ???

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Namenloser

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

Re: Image vergrößern wie bei MS-Paint

  Alt 8. Okt 2007, 14:27
Ich habe mal soetwas programmiert - ist eigentlich ganz einfach. Du speicherst den Faktor für die vergrößerung in einer Variable (1 für 100%, 2 für 200%,1.5 für 150% usw). Dann setzt du bei einem Image die Eigenschaft Stretch auf True und multiplizierst dessen Eigenschaften width und height mit dem Faktor. Im MouseMove oder Mousedown oder whatever teilst du dann die Koordinaten durch den Faktor, und schon hast du die "echten" Koordinaten auf dem Bild.
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

Registriert seit: 21. Dez 2005
146 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Image vergrößern wie bei MS-Paint

  Alt 8. Okt 2007, 19:15
Eine andere Möglichkeit wäre es, das Raster als Bitmaske zu erstellen und nur für die Darstellung die Werte des Bildes per AND (?) zu verknüpfen. So beeinflusst das Raster das Zeichnen nicht und es müsste trotzdem gut dargestellt werden können.
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
460 Beiträge
 
Delphi XE2 Enterprise
 
#6

Re: Image vergrößern wie bei MS-Paint

  Alt 9. Okt 2007, 14:35
Hallo zusammen,

hab den Vorschlag von Namenlozer eingebaut, möchte mich noch für alle Antworten bedanken. Funktioniert wirklich SUPER, und blieb trotzdem simpel.

Gruß Matthias

...dann mal weiter
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#7

Re: Image vergrößern wie bei MS-Paint

  Alt 9. Okt 2007, 14:41
Eine Alternative wäre auch noch eine Matrixtransformation. Viele neuere Grafik-APIs, einschließlich der GDI+, unterstützen das von Haus aus. Dann musst du im Prinzip gar nichts mehr umrechnen (abgesehen davon natürlich, dass die Mausposition ebenfalls die Transformation durchlaufen muss, um den richtigen Pixel zu finden).
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  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 23:21 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