ClippingMagic.js permite a você integrar facilmente o editor Clipping Magic ao seu site. Você pode editar imagens individuais na página frontal, ou uma sequencia de imagens no recorte em lote.
Não deixe de ler o Guia de início rápido primeiro.
Faça upload de uma imagem usando a API de servidor.
Incorpore o editor inteligente de marca branca conforme descrito abaixo.
Reaja aos retornos de chamada recebidos pelo seu código enquanto seu operador humano recorta as imagens, por exemplo, instruindo o backend a fazer download dos novos resultados disponíveis.
Essa opção de integração dá a você controle total, mas exige uma integração mais profunda do frontend. Se quiser uma opção integração mais simples, veja o editor inteligente hospedado.
Para usar o ClippinMagic.js, comece por inseri-lo e inicializá-lo nas páginas em que você quer permitir a edição:
<script src="https://clippingmagic.com/api/v1/ClippingMagic.js" type="text/javascript"></script>
<script type="text/javascript">
function myCallback(opts) {
// TODO: Replace this with your own functionality
switch (opts.event) {
case "error":
alert("An error occurred: " + opts.error.status + ", " + opts.error.code + ", " + opts.error.message);
break;
case "result-generated":
alert("Generated a result for " + opts.image.id + ", " + opts.image.secret);
break;
case "editor-exit":
alert("The editor dialog closed");
break;
}
}
var errorsArray = ClippingMagic.initialize({apiId: 123});
if (errorsArray.length > 0) alert("Sorry, your browser is missing some required features: \n\n " + errorsArray.join("\n "));
</script>
Você pode exibir o editor para uma imagem individual desta forma:
ClippingMagic.edit({
"image" : {
"id" : 2346,
"secret" : "image_secret1"
},
"useStickySettings" : true,
"hideBottomToolbar" : false,
"locale" : "pt-BR"
}, myCallback);
A função callback será chamada com result-generated ou editor-exit, mas não com os dois. Cada uma dessas opções indica que o editor foi fechado.
Omita or passe false para useStickySettings se quiser usar as configurações padrão de fábrica.
Essa chamada somente deve ser feita após o evento document ready, pois ela faz referência ao DOM.
Você pode exibir o editor para a edição de várias imagens desta forma:
ClippingMagic.edit({
"images" : [ {
"id" : 2346,
"secret" : "image_secret1"
}, {
"id" : 2347,
"secret" : "image_secret2"
} ],
"useStickySettings" : true,
"hideBottomToolbar" : false,
"locale" : "pt-BR"
}, myCallback);
A função callback será chamada com result-generated uma vez para cada resultado produzido pelo usuário, ou seja, uma vez para cada clique em 'Concluído'. No final, haverá uma chamada editor-exit indicando que o editor foi fechado, o que pode ocorrer porque o usuário clicou em X ou porque não há mais imagens a editar. Não há callback para o caso de o usuário pular uma imagem.
Omita or passe false para useStickySettings se quiser usar as configurações padrão de fábrica.
Essa chamada somente deve ser feita após o evento document ready, pois ela faz referência ao DOM.
function(opts)
A função edit recebe uma função callback como parâmetro. Esse callback permite responder a ações do usuário e notificar o servidor de back-end sobre o progresso da edição de imagem.
A assinatura do callback é function(opts) e exceções ou valores retornados são ignorados. O parâmetro opts é um PlainObject contendo:
| event |
Cadeia de caracteres que indica o que acaba de ocorrer. Veja a tabela abaixo. |
| image | Opcional. Um objeto JSON de imagem (somente o id e a chave secreta são incluídos). |
| error | Opcional. Um objeto JSON de erro. |
| Evento | Tem imagem? | Tem erro? | Significado |
|---|---|---|---|
| result-generated | Sim | Não | O usuário clicou em 'Concluído', um resultado foi gerado e está disponível para download imediato usando a API de back-end. No modo de imagem individual, o editor foi fechado. |
| editor-exit | Não | Não | O usuário fechou o editor clicando no X vermelho no canto superior direito ou o usuário já não tem imagens para editar no modo de várias imagens. O editor foi fechado. |
| error | Não | Sim |
Houve um erro. Verifique o valor do error para obter mais informações. O editor foi fechado.
|
Assim que o editor for fechado, você pode chamar edit() novamente. Chamadas anteriores a isso resultam em exceção.
Exemplo de invocação de callback
callback({
"event" : "result-generated",
"image" : {
"id" : 2346,
"secret" : "image_secret1"
}
});
ClippingMagic.initialize(opts) -> array_of_missing_features
A função initialize recebe um PlainObject contendo pares de chave/valor que configuram a inicialização:
|
apiId
Obrigatório |
Seu id de API. |
A função retorna um array de JavaScript com cadeias de caracteres descrevendo os recursos que o navegador atual não tem, mas que são necessários para execução do editor. Se esse array estiver vazio, você pode prosseguir e chamar a função edit.
ClippingMagic.edit(opts, callback)
A função edit recebe os seguintes parâmetros:
| opts |
Obrigatório. Um PlainObject contendo pares de chave/valor para configurar a inicialização:
|
||||||||||||||||||||||||||||||||||||||||||||||
| callback |
Obrigatório. Veja mais detalhes na seção Callback. |
Esse método não retorna um valor. Uma exceção será acionada se initialize não for chamado antes de chamar este método, se initialize retornar um array não vazio ou se a janela do editor já estiver aberta.