java.awt.geom.AffineTransform.getScaleX()方法的使用及代码示例

x33g5p2x  于2022-01-15 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(180)

本文整理了Java中java.awt.geom.AffineTransform.getScaleX()方法的一些代码示例,展示了AffineTransform.getScaleX()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AffineTransform.getScaleX()方法的具体详情如下:
包路径:java.awt.geom.AffineTransform
类名称:AffineTransform
方法名:getScaleX

AffineTransform.getScaleX介绍

暂无

代码示例

代码示例来源:origin: libgdx/libgdx

  1. public final void addNotify () {
  2. super.addNotify();
  3. AffineTransform transform = getGraphicsConfiguration().getDefaultTransform();
  4. scaleX = (float)transform.getScaleX();
  5. scaleY = (float)transform.getScaleY();
  6. if (SharedLibraryLoader.isMac) {
  7. EventQueue.invokeLater(new Runnable() {
  8. public void run () {
  9. create();
  10. }
  11. });
  12. } else
  13. create();
  14. }

代码示例来源:origin: geoserver/geoserver

  1. writer.setValue(Double.toString(atx.getScaleX()));
  2. writer.endNode();
  3. writer.startNode("scaleY");
  4. writer.setValue(Double.toString(atx.getScaleY()));
  5. writer.endNode();
  6. writer.startNode("shearX");
  7. writer.setValue(Double.toString(atx.getShearX()));
  8. writer.endNode();
  9. writer.startNode("shearY");
  10. writer.setValue(Double.toString(atx.getShearY()));
  11. writer.endNode();
  12. writer.startNode("translateX");
  13. writer.setValue(Double.toString(atx.getTranslateX()));
  14. writer.endNode();
  15. writer.startNode("translateY");
  16. writer.setValue(Double.toString(atx.getTranslateY()));
  17. writer.endNode();
  18. writer.endNode();

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Returns the magnitude of scale factor <var>x</var> by cancelling the effect of eventual flip
  3. * and rotation. This factor is calculated by <IMG
  4. * src="{@docRoot}/org/geotools/display/canvas/doc-files/scaleX0.png">.
  5. */
  6. public static double getScaleX0(final AffineTransform tr) {
  7. final double scale = tr.getScaleX();
  8. final double shear = tr.getShearX();
  9. if (shear == 0) return Math.abs(scale); // Optimization for a very common case.
  10. if (scale == 0) return Math.abs(shear); // Not as common as above, but still common enough.
  11. return Math.hypot(scale, shear);
  12. }

代码示例来源:origin: geoserver/geoserver

  1. AffineTransform aTX = (AffineTransform) geometry.getGridToCRS();
  2. writer.write("<geoTransform>");
  3. writer.write("<scaleX>" + aTX.getScaleX() + "</scaleX>\n");
  4. writer.write("<scaleY>" + aTX.getScaleY() + "</scaleY>\n");
  5. writer.write("<shearX>" + aTX.getShearX() + "</shearX>\n");
  6. writer.write("<shearY>" + aTX.getShearY() + "</shearY>\n");
  7. writer.write("<translateX>" + aTX.getTranslateX() + "</translateX>\n");
  8. writer.write("<translateY>" + aTX.getTranslateY() + "</translateY>\n");
  9. writer.write("</geoTransform>\n");

代码示例来源:origin: libgdx/libgdx

  1. public final void addNotify () {
  2. super.addNotify();
  3. AffineTransform transform = getGraphicsConfiguration().getDefaultTransform();
  4. scaleX = (float)transform.getScaleX();
  5. scaleY = (float)transform.getScaleY();
  6. if (SharedLibraryLoader.isMac) {
  7. EventQueue.invokeLater(new Runnable() {
  8. public void run () {
  9. create();
  10. }
  11. });
  12. } else
  13. create();
  14. }

代码示例来源:origin: apache/pdfbox

  1. /**
  2. * Creates a matrix with the same elements as the given AffineTransform.
  3. * @param at
  4. */
  5. public Matrix(AffineTransform at)
  6. {
  7. single = new float[DEFAULT_SINGLE.length];
  8. System.arraycopy(DEFAULT_SINGLE, 0, single, 0, DEFAULT_SINGLE.length);
  9. single[0] = (float)at.getScaleX();
  10. single[1] = (float)at.getShearY();
  11. single[3] = (float)at.getShearX();
  12. single[4] = (float)at.getScaleY();
  13. single[6] = (float)at.getTranslateX();
  14. single[7] = (float)at.getTranslateY();
  15. }

代码示例来源:origin: libgdx/libgdx

  1. float scaleX = (float)transform.getScaleX(), scaleY = (float)transform.getScaleY();
  2. Dimension size = new Dimension(Math.round(config.width / scaleX), Math.round(config.height / scaleY));
  3. getContentPane().setPreferredSize(size);

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Sets this matrix to the specified affine transform.
  3. *
  4. * @since 2.3
  5. */
  6. public void setMatrix(final AffineTransform transform) {
  7. mat.a11 = transform.getScaleX();
  8. mat.a12 = transform.getShearX();
  9. mat.a13 = transform.getTranslateX();
  10. mat.a21 = transform.getShearY();
  11. mat.a22 = transform.getScaleY();
  12. mat.a23 = transform.getTranslateY();
  13. mat.a31 = 0;
  14. mat.a32 = 0;
  15. mat.a33 = 1;
  16. }

代码示例来源:origin: libgdx/libgdx

  1. float scaleX = (float)transform.getScaleX(), scaleY = (float)transform.getScaleY();
  2. Dimension size = new Dimension(Math.round(config.width / scaleX), Math.round(config.height / scaleY));
  3. getContentPane().setPreferredSize(size);

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Returns {@code true} if this matrix is equals to the specified affine transform.
  3. *
  4. * @since 2.3
  5. */
  6. public boolean equalsAffine(final AffineTransform transform) {
  7. return mat.a11 == transform.getScaleX()
  8. && mat.a12 == transform.getShearX()
  9. && mat.a13 == transform.getTranslateX()
  10. && mat.a21 == transform.getShearY()
  11. && mat.a22 == transform.getScaleY()
  12. && mat.a23 == transform.getTranslateY()
  13. && mat.a31 == 0
  14. && mat.a32 == 0
  15. && mat.a33 == 1;
  16. }

代码示例来源:origin: apache/pdfbox

  1. private void addImage(Image img)
  2. {
  3. // for JDK9; see explanation in PagePane
  4. AffineTransform tx = GraphicsEnvironment.getLocalGraphicsEnvironment().
  5. getDefaultScreenDevice().getDefaultConfiguration().getDefaultTransform();
  6. label.setSize((int) Math.ceil(img.getWidth(null) / tx.getScaleX()),
  7. (int) Math.ceil(img.getHeight(null) / tx.getScaleY()));
  8. label.setIcon(new HighResolutionImageIcon(img, label.getWidth(), label.getHeight()));
  9. label.revalidate();
  10. }

代码示例来源:origin: apache/pdfbox

  1. /**
  2. * Set the values of the matrix from the AffineTransform.
  3. *
  4. * @param af The transform to get the values from.
  5. * @deprecated Use the {@link #Matrix(AffineTransform)} constructor instead.
  6. */
  7. @Deprecated
  8. public void setFromAffineTransform( AffineTransform af )
  9. {
  10. single[0] = (float)af.getScaleX();
  11. single[1] = (float)af.getShearY();
  12. single[3] = (float)af.getShearX();
  13. single[4] = (float)af.getScaleY();
  14. single[6] = (float)af.getTranslateX();
  15. single[7] = (float)af.getTranslateY();
  16. }

代码示例来源:origin: apache/pdfbox

  1. @Override
  2. protected void done()
  3. {
  4. try
  5. {
  6. BufferedImage image = get();
  7. // We cannot use "label.setIcon(new ImageIcon(get()))" here
  8. // because of blurry upscaling in JDK9. Instead, the label is now created with
  9. // a smaller size than the image to compensate that the
  10. // image is scaled up with some screen configurations (e.g. 125% on windows).
  11. // See PDFBOX-3665 for more sample code and discussion.
  12. label.setSize((int) Math.ceil(image.getWidth() / defaultTransform.getScaleX()),
  13. (int) Math.ceil(image.getHeight() / defaultTransform.getScaleY()));
  14. label.setIcon(new HighResolutionImageIcon(image, label.getWidth(), label.getHeight()));
  15. label.setText(null);
  16. }
  17. catch (InterruptedException | ExecutionException e)
  18. {
  19. label.setText(e.getMessage());
  20. throw new RuntimeException(e);
  21. }
  22. }
  23. }

代码示例来源:origin: geotools/geotools

  1. /** Gets the derivative of this transform at a point. */
  2. @Override
  3. public Matrix derivative(final Point2D point) {
  4. final AffineTransform tr = new AffineTransform();
  5. getAffineTransform(point.getX(), point.getY(), tr);
  6. return new Matrix2(
  7. tr.getScaleX(), tr.getShearX(),
  8. tr.getShearY(), tr.getScaleY());
  9. }

代码示例来源:origin: apache/pdfbox

  1. boolean isScaledUp = pdImage.getWidth() < Math.round(at.getScaleX()) ||
  2. pdImage.getHeight() < Math.round(at.getScaleY());

代码示例来源:origin: geotools/geotools

  1. /**
  2. * @param ls
  3. * @param at
  4. * @param generalize
  5. * @param maxDistance
  6. */
  7. public void init(LineString ls, AffineTransform at, boolean generalize, float maxDistance) {
  8. if (at == null) at = new AffineTransform();
  9. _init(ls, at, generalize, maxDistance);
  10. xScale =
  11. (float)
  12. Math.sqrt(
  13. (at.getScaleX() * at.getScaleX())
  14. + (at.getShearX() * at.getShearX()));
  15. yScale =
  16. (float)
  17. Math.sqrt(
  18. (at.getScaleY() * at.getScaleY())
  19. + (at.getShearY() * at.getShearY()));
  20. }

代码示例来源:origin: apache/pdfbox

  1. float offsetY = page.getCropBox().getLowerLeftY();
  2. float zoomScale = zoomMenu.getPageZoomScale();
  3. float x = e.getX() / zoomScale * (float) defaultTransform.getScaleX();
  4. float y = e.getY() / zoomScale * (float) defaultTransform.getScaleY();
  5. int x1, y1;
  6. switch ((RotationMenu.getRotationDegrees() + page.getRotation()) % 360)

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Constructs a 3&times;3 matrix from the specified affine transform.
  3. *
  4. * @param transform The matrix to copy.
  5. */
  6. public GeneralMatrix(final AffineTransform transform) {
  7. mat =
  8. new DMatrixRMaj(
  9. 3,
  10. 3,
  11. true,
  12. new double[] {
  13. transform.getScaleX(),
  14. transform.getShearX(),
  15. transform.getTranslateX(),
  16. transform.getShearY(),
  17. transform.getScaleY(),
  18. transform.getTranslateY(),
  19. 0,
  20. 0,
  21. 1
  22. });
  23. assert isAffine() : this;
  24. }

代码示例来源:origin: geotools/geotools

  1. Rectangle2D rect = tp.getAnchorRect();
  2. AffineTransform at = graphics.getTransform();
  3. double width = rect.getWidth() * at.getScaleX();
  4. double height = rect.getHeight() * at.getScaleY();
  5. Rectangle2D scaledRect = new Rectangle2D.Double(0, 0, width, height);
  6. paint = new TexturePaint(image, scaledRect);

代码示例来源:origin: geotools/geotools

  1. /**
  2. * Checks whether the matrix coefficients are close to whole numbers. If this is the case, these
  3. * coefficients will be rounded up to the nearest whole numbers. This rounding up is useful, for
  4. * example, for speeding up image displays. Above all, it is efficient when we know that a
  5. * matrix has a chance of being close to the similarity matrix.
  6. *
  7. * @param tr The matrix to round. Rounding will be applied in place.
  8. * @param tolerance The maximal departure from integers in order to allow rounding. It is
  9. * typically a small number like {@code 1E-6}.
  10. * @since 2.3.1
  11. */
  12. public static void round(final AffineTransform tr, final double tolerance) {
  13. double r;
  14. final double m00, m01, m10, m11;
  15. if (Math.abs((m00 = Math.rint(r = tr.getScaleX())) - r) <= tolerance
  16. && Math.abs((m01 = Math.rint(r = tr.getShearX())) - r) <= tolerance
  17. && Math.abs((m11 = Math.rint(r = tr.getScaleY())) - r) <= tolerance
  18. && Math.abs((m10 = Math.rint(r = tr.getShearY())) - r) <= tolerance) {
  19. if ((m00 != 0 || m01 != 0) && (m10 != 0 || m11 != 0)) {
  20. double m02 = Math.rint(r = tr.getTranslateX());
  21. if (!(Math.abs(m02 - r) <= tolerance)) m02 = r;
  22. double m12 = Math.rint(r = tr.getTranslateY());
  23. if (!(Math.abs(m12 - r) <= tolerance)) m12 = r;
  24. tr.setTransform(m00, m10, m01, m11, m02, m12);
  25. }
  26. }
  27. }
  28. }

相关文章