웹 프론트엔드 JS 튜토리얼 사진 회전 솔루션 3가지_기본

사진 회전 솔루션 3가지_기본

May 16, 2016 pm 05:13 PM
그림 회전

이미지 회전 효과에 대한 연구
최근 프로젝트에서 이미지 회전 기능이 필요해서 연구를 좀 했습니다. 다양한 브라우저에서의 이미지 회전 지원을 정리해 보겠습니다

1. 이미지 로테이션 계획

1) CSS3는 이미지 회전 기능을 구현합니다. 지원되는 브라우저는 Chrome이고 Firefox Opera는 지원되지 않습니다.

구체적인 코드는 다음과 같습니다: -moz-transfrom:rotate(90deg);-webkit-ransfrom:rotate(90deg);
위 코드는 이미지를 시계 방향으로 90도 회전한다는 의미입니다. 실제로 회전할 수도 있습니다. 어느 정도. 그러나 CSS3를 지원하는 유일한 브라우저는 chrome, firefox3.6, safari이며, 즉 브라우저는 이를 지원하지 않습니다. 그렇다면 IE
에서는 어떻게 처리해야 할까요? 그래서 우리는 다음과 같은 해결책을 가지고 있습니다

2) IE에서 필터를 통해 회전

구체적인 코드는 다음과 같습니다. filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
여기서 회전 매개변수는 0,1,2,3일 수 있습니다. 즉, 이 숫자에 90 회전을 곱한다는 뜻입니다. 각도. IE에서 임의의 각도로 회전하려면 매트릭스 변환 필터를 사용해야 합니다. 일상적으로
우리 대부분은 90의 배수인 변환을 사용합니다. 여기서는 임의의 각도에 대해 논의하지 않습니다. 하지만 여전히 문제가 있습니다. 브라우저가 Internet Explorer가 아니고 CSS3를 지원하지 않는 경우 이미지 회전을 인식하면 캔버스도 이미지를 회전할 수 있습니다.

3) 캔버스를 사용하여 이미지 회전

Canvas는 Chrome, Firefox, Opera 및 기타 브라우저에서 지원되며 JavaScript 기반의 그리기 API가 있습니다. 먼저 캔버스 JavaScript를 사용하여 이미지를 회전하는 방법을 살펴보겠습니다

코드는 다음과 같습니다.

코드 복사코드는 다음과 같습니다. :

var test = function(){
var canvas = document.getElementById("result");
var oImg = document.getElementById("Img")
canvas.height = 300;
canvas.width = 200;
var context = canvas.getContext("2d");
context.save();
context.translate(200,0) ;
context.rotate (Math.PI/3);
context.drawImage(oImg, 0, 0, 300, 200);
context.restore();
oImg.style.display = "없음";
};

위 코드는 먼저 캔버스 객체를 가져온 다음 높이를 설정하고 그리기를 시작합니다. 이렇게 하면 캔버스의 중심점과 회전 각도가 변경된 다음 이미지를 캔버스에 그려서 저장한 다음
이전 이미지를 숨깁니다. 이 방법은 구현이 비교적 원활합니다.

2. 다양한 솔루션 비교

css3를 구현해도 원본 이미지가 차지하는 공간의 크기는 변하지 않지만, IE 아래의 필터를 사용하면 원본 이미지가 차지하는 공간이 변경됩니다. 이미지의 크기입니다.
실제로 IE는 캔버스도 지원합니다. 캔버스 스크립트만 인용하면 됩니다. 이는 Google에서 제공하는 것입니다. 그런데 이 스크립트는 압축 전 20k가 넘게 좀 크네요
IE에서는 필터를 사용하고, 캔버스 태그를 사용하는 다른 브라우저에서는 필터를 사용하는 것을 선호합니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaScript를 사용하여 이미지 회전 효과를 얻는 방법은 무엇입니까? JavaScript를 사용하여 이미지 회전 효과를 얻는 방법은 무엇입니까? Oct 20, 2023 pm 07:09 PM

JavaScript를 사용하여 이미지 회전 효과를 얻는 방법은 무엇입니까?

uniapp을 사용하여 이미지 회전 기능 구현 uniapp을 사용하여 이미지 회전 기능 구현 Nov 21, 2023 am 11:58 AM

uniapp을 사용하여 이미지 회전 기능 구현

PHP 및 GD 라이브러리를 사용하여 이미지 회전을 구현하는 방법 PHP 및 GD 라이브러리를 사용하여 이미지 회전을 구현하는 방법 Jul 12, 2023 am 11:52 AM

PHP 및 GD 라이브러리를 사용하여 이미지 회전을 구현하는 방법

WeChat 애플릿에서 이미지 회전 효과 구현 WeChat 애플릿에서 이미지 회전 효과 구현 Nov 21, 2023 am 08:26 AM

WeChat 애플릿에서 이미지 회전 효과 구현

Vue 개발 시 모바일 이미지 회전 문제를 해결하는 방법 Vue 개발 시 모바일 이미지 회전 문제를 해결하는 방법 Jun 29, 2023 pm 09:22 PM

Vue 개발 시 모바일 이미지 회전 문제를 해결하는 방법

Java 개발에서 이미지 회전 및 크기 조정 성능을 최적화하는 방법 Java 개발에서 이미지 회전 및 크기 조정 성능을 최적화하는 방법 Jun 30, 2023 pm 04:34 PM

Java 개발에서 이미지 회전 및 크기 조정 성능을 최적화하는 방법

Golang에서 이미지 회전 및 뒤집기를 구현하는 방법 Golang에서 이미지 회전 및 뒤집기를 구현하는 방법 Aug 27, 2023 pm 01:03 PM

Golang에서 이미지 회전 및 뒤집기를 구현하는 방법

PHP와 Imagick을 사용하여 이미지 회전을 달성하는 방법 PHP와 Imagick을 사용하여 이미지 회전을 달성하는 방법 Jul 28, 2023 pm 05:39 PM

PHP와 Imagick을 사용하여 이미지 회전을 달성하는 방법

See all articles