2016-08-22 5 views

ответ

0

Это должно быть возможным путем предоставления пользовательской реализации IImageFilterProvider. Найдите этот интерфейс в решении, вы найдете в качестве примера ResizeFilter и FormatFilter в модуле Orchard.MediaProcessing.

Также есть некоторые статьи, такие как http://www.davidhayden.me/blog/developing-custom-image-filters-in-orchard-cms.

4

Чтобы добавить водяной знак автоматически, вы должны добавить OnPublished обработчик ImagePart следующим образом:

OnPublished<ImagePart>((context, part) => { 
    var mediaPart = part.As<MediaPart>(); 
    // Here you can add watermark code 
}); 

Если вы хотите добавить водяной знак на оригинальном загруженное изображение, вы должны вызвать его из обработчика напрямую , но если вы хотите использовать механизм модуля медиапроцесса (который сохранит исходное изображение как есть и создаст новый с применением фильтров и сохранит его в папке _Profiles), то вы можете добавить новую реализацию для IImageFilterProvider, чтобы добавить новую фильтр для конвейера обработки изображений Orchard.

Наконец, я рекомендую использовать плагин ImageResizer.Plugins.Watermark для достижения этого, потому что Orchard уже использует компонент ImageResizer в качестве платформы обработки изображений по умолчанию.

Обновление: Пожалуйста, обратитесь к этой link для полной реализации, или этого repo для исходного кода.