1

웹 응용 프로그램에서 이미지를 회전해야합니다. 이전 post에서는 회전 할 때 중심점이 변경되기 때문에 이미지를 '변환'해야한다고 설명했습니다.IE8에서 회전 : 번역이 제대로 작동하지 않습니다.

나는 회전의 HeyGrady 차원 TRANSFROM jQuery 플러그인을 사용하고 그것을 FF/크롬/사파리/IE9에서 잘 작동 제안되었을 때 번역을 제공하고 있습니다. 그러나, IE8에서 이것은 잘 작동하지 않습니다.

는 다음 link에서 참조하시기 바랍니다.

이이 FF/크롬/사파리/IE9에서 실행하면 이미지가합니다 (검은 색 테두리 내에서 숙박) 잘 회전합니다. 그러나 이것을 IE8에서 실행하면 90도 또는 270도까지 회전 할 때 검정 테두리 경계를 넘을 것입니다.

플러그인 프로젝트 페이지

는 "IE는) (- 출처를 변환하고 변환 [...] JQuery와이 플러그인은 자동으로 이러한 계산을 처리하는 변환에 대한 지원이 부족하다"고 언급하고있다. 그러나 그렇게하지 않는 것 같습니다.

사람은 문제가있을 수 있습니다 무엇을 어떤 아이디어를 가지고?

감사합니다.

+0

I 최근에 사용 된 [jQueryRotate (HTTP :

이 줄 바꾸기 : 여기서 라인 (290) 주위에 execMatrix 기능이 추가하여 수정이다 // code8.com/p/jqueryrotate /)를 IE8에서 좋은 결과를 얻을 수 있습니다. – Blazemonger

답변

2

는 또한 HeyGrady의 JQuery와 플러그인을 변환을 사용 IE 8에서이 같은 문제 다 퉜다. 이에

this.fixPosition(matrix, tx, ty); 

:

// factor in the object's current rotation so translation remains straight up/down/left/right 
    // otherwise, object will be translated along the rotated axis, which produces undesirable effects 
    var rotation = parseInt(this.$elem.css('rotate')) * -1, // the current rotation in degrees, inverted 
     radians = rotation * (Math.PI/180), // convert degrees to radians 
     newX = (tx * (Math.cos(radians))) - (ty * (Math.sin(radians))), // calculate new x 
     newY = (tx * (Math.sin(radians))) + (ty * (Math.cos(radians))); // calculate new y 
    this.fixPosition(matrix, newX, newY); 
관련 문제