Home > News, programmazione > Imel 0.2.5

Imel 0.2.5

logo_imel

Pensavamo di pubblicare questa versione per l’anno nuovo, ma giorno dopo giorno le novità aumentavano e rischiava di diventare un rilascio obeso quindi per evitare difficoltà con tante novità ho deciso di pubblicare questa versione un po’ grassotta ma gestibile.

Prima di proseguire ringrazio Simone Scarinzi conosciuto come “Skary” per la partecipazione e la costanza che sta avendo nell’aiuto dello sviluppo di questa libreria, a lui si devono le nuove funzioni riguardo al disegno di questa versione e l’idea di rendere disponibili funzioni che prima erano private come ad esempio imel_point_get_from_line ().

Le novità in questi due mesi di sviluppo sono tantissime inizio ad elencarle per ordine:


Effetti

  • IMEL_EFFECT_ANTIALIAS, IMEL_EFFECT_DIRECT_ANTIALIAS: Effetti per applicare l’antialias all’immagine in modo passivo o diretto ( guardare la documentazione per maggiori dettagli ).
  • IMEL_EFFECT_IMAGE_ADD, IMEL_EFFECT_IMAGE_SUBTRACT: Sommano, o sottraggono, ad ogni pixel ( colori e livello ) dell’immagine a cui si sta applicando l’effetto i pixel ( colori e livello ) dell’immagine passata come parametro.

Tipi

  • ImelRef: Serve a stabilire se prendere come riferimento il colore o il livello di un’immagine.
  • ImelValue:
    Permette di capire a che tipo di misura si riferisce
    un eventuale parametro numerico passato dopo un elemento
    di questo tipo

    Permette di capire a che tipo di misura si riferisce il valore numerico passato dopo questo tipo.

Macro

  • DEG_TO_RAD, RAD_TO_DEG: Converte da gradi a radianti e da radianti a gradi

Funzioni migliorate

  • imel_draw_ellipse (): migliorata, prima i punti dell’ellisse non venivano uniti in ellissi molto grandi
  • imel_draw_line (), imel_draw_dashed_line (), imel_draw_gradient_line (): Corretto un bug che disegnava a tratti la linea se i parametri riguardanti il punto iniziale e il punto finale erano di un certo tipo.
  • imel_pixel_copy (): corretta una parte che rallentava di molto la funzione in molte chiamate consecutive.
  • imel_image_apply_convolution (): corretto un bug nell’inizializzazione di una variabile locale alla funzione anche se errori dovuti a questa non inizializzazione non erano stati notati.
  • imel_font_write_string_with_truetype_font (): corretto un grave errore nella resa del carattere, in più sono stati aggiunti degli attributi opzionali nel disegno ( guardare la documentazione per sapere quali sono e come usarli ). Compatibilità con vecchie versioni mantenuta.
  • imel_draw_circle (): Prestazioni migliorate del 50%
  • imel_image_new_with_background_color (): da ora si calcola anche il livello del pixel passato per creare l’immagine

Funzioni nuove

  • imel_draw_filled_circle (): disegna un cerchio riempito internamente
  • imel_draw_filled_ellipse (): disegna un ellissi riempita internamente
  • imel_pixel_compare_level (): funzione simile alla vecchia imel_pixel_compare () solo che questa è appositamente per confrontare i livelli.
  • imel_image_auto_cut (): Auto-ritaglia un’immagine il bordo da considerare in più è deciso dall’utente che può stabilire se basarsi o sul colore oppure sul livello ( sempre a sua discrezione il loro valore ).
  • imel_color_get_number (): permette di ottenere il numero di colori unici presenti nell’immagine
  • imel_draw_gradient_line (): consente di disegnare una linea che ha come colore una sfumatura che va da un colore iniziale ad uno finale
  • imel_draw_gradient_curve (): come imel_draw_gradient_line () solo che disegna una curva.
  • imel_color_sum (), imel_color_subtract (): sommano o sottragono un colore ad un altro sempre rimanendo nel range di valori usabili come color ( 0 – 255 )
  • imel_image_shear (): inclina parte o tutta un’immagine verticalmente o orizzontalmente secondo il verso di una linea teorica ( guardare la documentazione per maggiori informazioni )
  • imel_image_shift (): sposta l’immagine in alto, in basso, a destra o a sinistra di un numero di pixel a scelta.
  • imel_image_new_from_raw (): funzione molto potente, permette di aprire un’immagine grezza ( raw ) di bits per pixel e bits per channel a scelta ( guardare la documentazione per maggiori informazioni ).
  • imel_draw_reg_shape (): disegna un poligono regolare all’interno di una circonferenza con un numero di vertici e un’inclinazione a scelta
  • imel_draw_partial_reg_shape (): come imel_draw_reg_shape () solo che disegna solo una parte di poligono
  • imel_image_shift_lines (): come imel_image_shift () solo che lo spostamento può essere limitato solo ad alcune linee dell’immagine
  • imel_point_get_from_line (): restituisce solo i punti e la lunghezza di una linea, i punti possono essere ottenuti tutti oppure solo una parte specificata in modo relativo tramite percentuale o in modo fisso tramite pixel.
  • imel_point_get_from_reg_shape (): restituisce i punti riguardanti i vertici di un poligono regolare inscritto in una circonferenza.
  • imel_value_convert (), imel_value_percentage_to_generic (), imel_value_pixel_to_percentage: varie funzioni di conversioni da un valore ad un altro.
  • imel_draw_arch: disegna un arco
  • imel_image_shift_bpc: permette di eseguire uno shift sui bit di uno o più canali di colore presenti in un’immagine, consente anche seguendo due shift opposti con gli stessi valori di ridurre i colori di un’immagine.
  • imel_image_remove_noise (): elimina il disturbo che può presentare un’immagine con una soglia a scelta ( guardare la documentazione )

Tutte queste funzioni ( per quelle più complicate da capire e utilizzare l’ho detto già esplicitamente ) sono documentate nella documentazione online e interna al pacchetto scaricato. I link sono i seguenti:

http://www.hds619.net/imel-pkg/imel-0.2.5.tar.bz2 Pacchetto di quest’ultima versione

http://www.hds619.net/documentation/imel Documentazione online dell’ultima versione stabile

http://www.hds619.net/listing/imel Sorgenti “sfusi” dell’ultima versione stabile

Buona programmazione ;)

  1. 24 dicembre 2009 a 15:00 | #1
  2. 25 dicembre 2009 a 6:58 | #2

    iWafer :

    quando si dice “iWafer vince” http://www.damiantechs.com/pichost/p-Ruslana_FlZybKL.jpeg
    :P

    Molto carina, ma finchè userai le gd e il php non sarà mai perfetta XD

  3. 25 dicembre 2009 a 14:52 | #3

    @HdS619
    x) che cattivo x) sottovaluti il php, anche se le gd fan pieta

  1. Nessun trackback ancora...
Custom Avatars For Comments