Top > 図形の整列 下揃え
整列コマンド下揃え Procedure ajustObjectBottom; var gBotAxis: real; gCount:integer; p1X, p1Y, p2X, p2Y:REAL; function getBotAxis( pObj:Handle ):boolean; begin gCount := gCount +1; GetBBox( pObj, p1X, p1Y, p2X, p2Y ); if gBotAxis > p2Y then gBotAxis := p2Y; end; function doMove( pObj:Handle ):boolean; begin GetBBox( pObj, p1X, p1Y, p2X, p2Y ); HMove(pObj, 0, gBotAxis - p2Y); end; {main} begin gCount := 0; gBotAxis := 10000000000.0; ForEachObjectInLayer(getBotAxis , 2, 0, 4 ); if gCount > 1 then ForEachObjectInLayer(doMove , 2, 0, 4 ); end; run ( ajustObjectBottom ); 上揃え Procedure ajustObjectTop; var gBotAxis: real; gCount:integer; p1X, p1Y, p2X, p2Y:REAL; function getBotAxis( pObj:Handle ):boolean; begin gCount := gCount +1; GetBBox( pObj, p1X, p1Y, p2X, p2Y ); if gBotAxis < p1Y then gBotAxis := p1Y; end; function doMove( pObj:Handle ):boolean; begin GetBBox( pObj, p1X, p1Y, p2X, p2Y ); HMove(pObj, 0,gBotAxis - p1y); end; {main} begin gCount := 0; gBotAxis := -10000000000.0; ForEachObjectInLayer(getBotAxis , 2, 0, 4 ); if gCount > 1 then ForEachObjectInLayer(doMove , 2, 0, 4 ); end; run ( ajustObjectTop ); 右揃え Procedure ajustObjectR; var gBotAxis: real; gCount:integer; p1X, p1Y, p2X, p2Y:REAL; function getBotAxis( pObj:Handle ):boolean; begin gCount := gCount +1; GetBBox( pObj, p1X, p1Y, p2X, p2Y ); if gBotAxis < p2x then gBotAxis := p2x; end; function doMove( pObj:Handle ):boolean; begin GetBBox( pObj, p1X, p1Y, p2X, p2Y ); HMove(pObj,gBotAxis - p2x,0); end; {main} begin gCount := 0; gBotAxis := -10000000000.0; ForEachObjectInLayer(getBotAxis , 2, 0, 4 ); if gCount > 1 then ForEachObjectInLayer(doMove , 2, 0, 4 ); end; run ( ajustObjectR ); 左揃え Procedure ajustObjectL; var gBotAxis: real; gCount:integer; p1X, p1Y, p2X, p2Y:REAL; function getBotAxis( pObj:Handle ):boolean; begin gCount := gCount +1; GetBBox( pObj, p1X, p1Y, p2X, p2Y ); if gBotAxis > p1x then gBotAxis := p1x; end; function doMove( pObj:Handle ):boolean; begin GetBBox( pObj, p1X, p1Y, p2X, p2Y ); HMove(pObj,gBotAxis - p1x,0); end; {main} begin gCount := 0; gBotAxis := 10000000000.0; ForEachObjectInLayer(getBotAxis , 2, 0, 4 ); if gCount > 1 then ForEachObjectInLayer(doMove , 2, 0, 4 ); end; run ( ajustObjectL ); 左右中央 Procedure ajustObLcenter; VAR gRaxis:REAL; gLaxis:REAL; gCount:INTEGER; p1x,p1y,p2x,p2y:REAL; FUNCTION getRightAxis(pObj:Handle):BOOLEAN; BEGIN gCount := gCount + 1; GetBBox(pObj,p1x,p1y,p2x,p2y); IF gRaxis < p2x THEN gRaxis := p2x; IF gLaxis > p1x THEN gLaxis := p1x; END; FUNCTION doMove(pObj:Handle):BOOLEAN; BEGIN GetBBox(pObj,p1x,p1y,p2x,p2y); HMove(pObj,(gRaxis+gLaxis-(p2x+p1x))/2,0); END; {main} BEGIN gCount:=0; gRaxis:=-10000000000.0; gLaxis:=10000000000.0; ForEachObjectInLayer(getRightAxis,2,0,4); IF gCount>1 THEN ForEachObjectInLayer(doMove,2,0,4); END; run (ajustObLcenter); 上下中央 Procedure ajustObHcenter; VAR gTaxis:REAL; gBaxis:REAL; gCount:INTEGER; p1x,p1y,p2x,p2y:REAL; FUNCTION getTopAxis(pObj:Handle):BOOLEAN; BEGIN gCount := gCount + 1; GetBBox(pObj,p1x,p1y,p2x,p2y); IF gTaxis < p1y THEN gTaxis := p1y; IF gBaxis > p2y THEN gBaxis := p2y; END; FUNCTION doMove(pObj:Handle):BOOLEAN; BEGIN GetBBox(pObj,p1x,p1y,p2x,p2y); HMove(pObj,0,(gTaxis+gBaxis-(p2y+p1y))/2); END; {main} BEGIN gCount:=0; gTaxis:=-10000000000.0; gBaxis:=10000000000.0; ForEachObjectInLayer(getTopAxis,2,0,4); IF gCount>1 THEN ForEachObjectInLayer(doMove,2,0,4); END; run (ajustObHcenter); 上下左右中央 Procedure ajustObLHcenter; VAR gRaxis:REAL; gLaxis:REAL; gTaxis:REAL; gBaxis:REAL; gCount:INTEGER; p1x,p1y,p2x,p2y:REAL; FUNCTION getCenterAxis(pObj:Handle):BOOLEAN; BEGIN gCount := gCount + 1; GetBBox(pObj,p1x,p1y,p2x,p2y); IF gRaxis < p2x THEN gRaxis := p2x; IF gLaxis > p1x THEN gLaxis := p1x; IF gTaxis < p1y THEN gTaxis := p1y; IF gBaxis > p2y THEN gBaxis := p2y; END; FUNCTION doMove(pObj:Handle):BOOLEAN; BEGIN GetBBox(pObj,p1x,p1y,p2x,p2y); HMove(pObj,(gRaxis+gLaxis-(p2x+p1x))/2,(gTaxis+gBaxis-(p2y+p1y))/2); END; {main} BEGIN gCount:=0; gRaxis:=-10000000000.0; gLaxis:=10000000000.0; ForEachObjectInLayer(getCenterAxis,2,0,4); IF gCount>1 THEN ForEachObjectInLayer(doMove,2,0,4); END; run (ajustObLHcenter); |