2016-08-01 3 views
1

저는 angularJS를 사용하고 있으며 JS 함수를 호출하여 이미지에 워터 마크 프로그램을 적용해야합니다. 내가 가지고있는 것은 :JavaScript를 사용하여 이미지에 워터 마크를 적용하려면 어떻게해야합니까?

<figure><img class="watermark" ng-src="{{applyWatermark(img.url)}}"></figure> 

그래서, 그 기능 applyWatermark (아직 구현)를 호출하고, 워터 마크와 IMG를 반환해야하지만, 나는이 기능을 구축 할 수있는 방법을 모르겠어요. 이미지를 반환해야합니까? 누군가가 나에게 어떻게 할 수있는 몇 가지 예를 제공 할 수 있습니까?

편집 :

나는 이런 짓을하지만, 제대로 동작하지 않습니다 :

$(function applyWatermark(image) {                                                  
    watermark([image, 'watermark.png'])                              
     .image(watermark.image.lowerRight())                                                
     .then(function (img) {                                                    
      return img                                                      
     });                                                        
}) 

어떤 생각을? watermark.js를 사용

+0

좋은 생각은 아닙니다. 사용자는 항상 소스에서 원점 이미지를 얻을 수 있습니다. – kxxoling

+0

이것은 일부 사용자에게 유용 할 수 있지만 실제로 클라이언트 측 코드로 워터 마킹하기 전에 원본을 클라이언트로 전송해야하므로 클라이언트에서 워터 마크를 삽입하는 것은 실제로 솔루션이 아닙니다. –

답변

2

이 당신을 위해 작동하지 않는 경우

watermark(['/img/forest.jpg', '/img/logo.png']) 
    .image(watermark.image.lowerRight(0.5)) // Or lowerRight() for no opacity 
    .then(function (img) { 
     document.getElementById('alpha-image').appendChild(img); 
    }); 

, 어쩌면이 시도 : 이미지가 처리되기 전에 존재하는 경우

$.ajax({ 
    url: 'http://www.example.com/your-image.jpg', 
    type: 'HEAD', 
    error: function() { 
     // File isn't found 
    }, 
    success: function() { 
     // File is found! Do the watermarkage. 
    } 
}); 

테스트 할 수 있습니다.

+0

안녕하세요, 답변 해 주셔서 감사합니다. 나는 당신이 묘사 한이 방법을 시도했지만 작동하지 않습니다. 원래 게시물의 편집 내용을 확인하십시오. 이 문제를 어떻게 해결할 수 있을지 생각해보십시오. – chr0x

+0

'image'가 서버상의 이미지 경로 인 한,'watermark.js' 라이브러리를 올바르게 참조해야합니다. –

+0

이 워터 마크를 사용하고 있습니다 .js. 그러나 변환 후 큰 파일을 만듭니다 (3MB - 9MB). 어떻게 파일 크기를 줄일 수 있습니까? – Raju

관련 문제