G
Guest
Gast
Hi,
ich möchte, dass beim Skalieren die Objekte nicht mehr als eine Minimumgröße runterskaliert werden. Habe den folgen Code für Polygonskalierung :
Das Polygon soll in x und/oder y Richtung nicht weniger als 10 px runterskaliert werden, aber größer schon..
Der o.a. Code Code tut folgendes :
Wenn ich Skalieren möchte, werden von dem jeweiligen Polygon ein Copy erstellt, auf dieses die Skalierung ausgeführt wird. Wenn die Maustaste losgelassen wird, wird die Copy dem Originalpolygon zugewiesen.
Wenn die Minimumgrenze beim Skalieren unterschritten wird, wir das Polygon in der Ursprungsgröße angezeigt, wobei es eigentlich einfach in der Minimumgröße zu sehen sein sollte. Sobald man es aber vom minimum aus wieder größer skaliert, ohne die Maus loszulassen, nimmt das Polygon die richtige Skalierungsgröße wieder an.
Was ist verkehrt am Code??
PS: Sorry Admin, habe die gleiche Frage ausversehen in einem anderen Thread erstellt, statt ein neues Thema zu öffnen.. Also hier deswegen nochmal...
ich möchte, dass beim Skalieren die Objekte nicht mehr als eine Minimumgröße runterskaliert werden. Habe den folgen Code für Polygonskalierung :
Code:
else if (scale) {
Rectangle oldRect = p.getRect();
zF.setPolyRect(p.getBounds());
Rectangle newRect = zF.getPolyRect();
scaleStartPoint = e.getPoint();
currentRectWidth = (int) (zF.getPolyRect().getMaxX()-10);
currentRectHeight = (int) zF.getPolyRect().getMaxY()-10;
currentRectX = zF.getPolyRect().x+10;
currentRectY = zF.getPolyRect().y+10;
zF.setZeigePolyRect(true);
// Skalieren von der oberen Ecke links
if (aendereObenLinks
&& e.isMetaDown() == false) {
int x = zF.getPolyRect().x - (last_x + e.getX());
int y = zF.getPolyRect().y - (last_y + e.getY());
if (!(scaleStartPoint.x > currentRectWidth)
&& !(scaleStartPoint.y > currentRectHeight)) {
newRect.setRect(last_x + e.getX(), last_y + e.getY(),
zF.getPolyRect().width + x,
zF.getPolyRect().height + y);
}
neuePolyKoorZuweisen(oldRect, newRect);
p.invalidate();
saveScaledPoly = true;
}
Das Polygon soll in x und/oder y Richtung nicht weniger als 10 px runterskaliert werden, aber größer schon..
Der o.a. Code Code tut folgendes :
Wenn ich Skalieren möchte, werden von dem jeweiligen Polygon ein Copy erstellt, auf dieses die Skalierung ausgeführt wird. Wenn die Maustaste losgelassen wird, wird die Copy dem Originalpolygon zugewiesen.
Wenn die Minimumgrenze beim Skalieren unterschritten wird, wir das Polygon in der Ursprungsgröße angezeigt, wobei es eigentlich einfach in der Minimumgröße zu sehen sein sollte. Sobald man es aber vom minimum aus wieder größer skaliert, ohne die Maus loszulassen, nimmt das Polygon die richtige Skalierungsgröße wieder an.
Was ist verkehrt am Code??
PS: Sorry Admin, habe die gleiche Frage ausversehen in einem anderen Thread erstellt, statt ein neues Thema zu öffnen.. Also hier deswegen nochmal...