# picgo-plus-ts **Repository Path**: capsion/picgo-plus-ts ## Basic Information - **Project Name**: picgo-plus-ts - **Description**: 个人自用 picgo + gitee + 本地服务器 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-04-06 - **Last Updated**: 2022-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PerspectiveTransform This is an extremely useful class for advanced CSS 3d animation. You can set the x, y point of the corners of a DOM element and do need to think about the complicated Matrix formula behind it. [![alt text](http://edankwan.github.io/PerspectiveTransform.js/screenshot/001.jpg)](http://edankwan.github.io/PerspectiveTransform.js/) [Demo](http://edankwan.github.io/PerspectiveTransform.js/) ## Usage ```js // create PerspectiveTransfrom var transform = new PerspectiveTransform(elem, width, height, useBackFacing); // the properties represent the 4 corners are "topLeft", "topRight", "bottomLeft" and "bottomRight" transform.bottomRight.x = 200; transform.bottomRight.y = 200; // check the polygon error before updating if(transform.checkError()==0){ transform.update(); // update the perspective transform elem.style.display = "block"; // show the element }else{ elem.style.display = "none"; // hide the element } ``` ## Firefox on retina screen fix ```js PerspectiveTransform.useDPRFix = true; // put true if you need to apply this fix window.onresize = function(){ PerspectiveTransform.dpr = window.devicePixelRatio; // update the dpr transform.update(); // update the PerspectiveTransform instance } ``` ## Credit The original PerspectiveTransform.js is created by Israel Pastrana http://www.is-real.net/experiments/css3/wonder-webkit/js/real/display/PerspectiveTransform.js Matrix Libraries from a Java port of JAMA: A Java Matrix Package, http://math.nist.gov/javanumerics/jama/ Developed by Dr Peter Coxhead: http://www.cs.bham.ac.uk/~pxc/ Available here: http://www.cs.bham.ac.uk/~pxc/js/ I simply removed some irrelevant variables and functions and merge everything into a smaller function. I also added some error checking functions and bug fixing things.