Pergunta

Preciso manipular uma imagem de modo que um sub-retângulo dela seja invertido ou girado em relação ao restante da imagem. Aqui está um exemplo:

alt text

Essa manipulação precisa acontecer muitas vezes, sempre produzindo uma nova imagem modificada do original (em vez de aplicar modificações sucessivas a uma imagem).

O tamanho do sub-retângulo precisa variar sistematicamente (talvez em incrementos de 5% de 10% a 75%) e a localização do sub-retângulo precisa variar aleatoriamente.

Por fim, esse procedimento precisa ser realizado em um grande número de imagens.

Como eu iria fazer isso?

Minhas opções são PHP, C#ou lote no GIMP. Dito isto, estou preparado para aprender algo novo se houver uma abordagem particularmente sensata.

Foi útil?

Solução

Eu diria ir com C# e escrever um pouco de utilidade.

o Graphics A classe pode ter todos os métodos que você precisa.

Id sugerir que você olhe para o DrawImage e a RotateTransform funções.

Outras dicas

Isso é algo que precisa ser feito programaticamente ou é um acordo único?

Se programaticamente, isso * pode ser feito no PHP usando a biblioteca GD, mas não será fácil ou rápido, devido ao fato de você ter que escrever uma rotina para mover manualmente os pixels.

Um resumo da "Fomentalidade" da sua solicitação com base em uma abordagem da biblioteca PHP GD:

  • A manipulação acontece muitas vezes, sempre produzindo uma nova imagem modificada do original: fácil
  • O tamanho do sub-retângulo precisa variar sistematicamente, fácil
  • A localização do sub-retângulo precisa muito aleatoriamente, fácil
  • Rotação em imagem dificuldade moderada e lento
  • Executando isso em um grande número de imagens, fácil

Não tenho experiência suficiente em C# Of Gimp para fornecer respostas definitivas lá; Desculpe.

Você pode pegar seu idioma favorito, todos eles serão capazes, codificá -lo e executá -lo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top