WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Achsebereich nach zoom auf Bild ausfüllen

 

Localhorst
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 18.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2012, 11:57     Titel: Achsebereich nach zoom auf Bild ausfüllen
  Antworten mit Zitat      
Hallo Forum,

ich hatte anfang des Jahres die Frage schon einmal gestellt aber leider keine Antwort bekommen.
(http://www.gomatlab.de/stretch-to-fill-nach-zoom-t22003,highlight,zoom.html)

Ich habe die Hoffnung, dass ich mein Problem einfach nur zu schlecht beschrieben habe und das es trotzdem hier noch jemanden gibt, der eine Lösung für mein Problem kennt.

Ich habe im Anhang ein JPG gebaut das eigentlich alles zeigt. Ich google sehr fleißig nach Begriffen wie "stretch-to-fill" und "Aspect Ratio" und habe auch schon raus gefunden, dass das Verhalten welches im Anhang auf dem Bild zu sehen ist so gewollt ist.
(Bei fest gesetztem Aspect Ratio wird stretch-to-fill außer kraft gesetzt)

Nur leider möchte ich genau dieses Verhalten nicht.

Über Hilfe würde ich mich sehr freuen.

Freundliche Grüße
Localhorst


Hier noch ein Ausschnitt aus dem Code wo die Achse gefüllt wird.
Code:

...  
        h_mainFigure=figure(gcf);
   set(h_mainFigure,'Units','pixels');
   h_axes=handles.main_axes;
   set(h_axes,'Units','pixels');
   image(bild(:,:,az));
   colormap(map);

        % gui appdata füllen
   setappdata(0,'high_res_img',bild);
   setappdata(0,'high_res_img_path',pathname);
   setappdata(0,'high_res_img_filename',filename);

   %Verzerrungsfreie, möglichst bildschirmfüllende Darstellung des Bildes
   set(h_axes,'DataAspectRatio',[1 1 1],...
            'PlotBoxAspectRatio',[ori_image_width ori_image_height sz],...
            'ActivePositionProperty','Position');
   axis off
...
 


matlab_zoom.jpg
 Beschreibung:
Zoom Verhalten in Achse (JPG,300kb)

Download
 Dateiname:  matlab_zoom.jpg
 Dateigröße:  278.38 KB
 Heruntergeladen:  535 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 27.08.2012, 15:18     Titel: Re: Achsebereich nach zoom auf Bild ausfüllen
  Antworten mit Zitat      
Hallo Localhorst,

Du kannst entweder Deine eigene Zoom-Funktion erstellen, oder einfach den weißen Rahmen manuell an das Orginal-Bild anfügen, sodass es genauso aussieht wie gewollt. Beide Lösungen sind nicht gerade effizient.

Eine Lösung wäre einfacher, wenn der gepostete Code das Problem reproduzieren würde. Ein Test-Bild per RAND wäre hinreichend.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Localhorst
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 86
Anmeldedatum: 18.02.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2012, 16:37     Titel:
  Antworten mit Zitat      
Hi und danke für deine Antwort.

Ich bin mir aber nicht sicher ob wir das selbe meinen. Auf dem angehängten Bild sollen drei Beispielachsen dargestellt werden. Oben Links die Ausgangslage und mit rot markiert der Bereich der gezoomt werden soll. Rechts daneben ist die Achse wie sie nach dem Zoom ausschaut. Der quadratische Bereich der über die Zoom funktion (Maustaste gedrückt halten, Kasten aufziehen) ausgewählt wurde wird nicht in dem ganzen Bereich der Achse dargestellt sondern nur in dem Bereich der dem Format des original Bildes entspricht.

Ich will ja gerade keinen weißen Rahmen mehr sehen. Wenn ich aus einem sehr länglichen Bild ein zB quadratisches Gebiet über die Zoom Funktion auswähle soll dieser quadratische Bereich möglichst füllend in der Achse (äußerer schwarezer Rahmen) dargestellt werden (unteres Beispielbild)

Gruß
Localhorst
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.