Giter Site home page Giter Site logo

base64bitmap's Introduction

Maintained YES Memory Leak Verified YES Stars Forks Issues
Compatibility Delphi Supported Versions

Base64Bitmap

Biblioteca de codificação e decodificação de imagem(Bitmap) em Base64.

Implementado na linguagem Delphi, Base64Bitmap é uma biblioteca de codificação de uma imagem(Bitmap) para Base64 e decodificação de Base64 para imagem(Bitmap).

  • Base64: É uma forma de codificação que permite representar dados binários usando um conjunto de caracteres seguros, tornando-os adequados para transmissão. É amplamente utilizado em aplicações que lidam com transferência de dados, como em e-mails ou em URLs, para garantir que os dados permaneçam intactos e sem erros durante a transmissão.

  • Bitmap: É a classe que representa e gerência imagens no Delphi, permitindo manipulações e exibições dentro da interface gráfica de um aplicativo. A classe TBitmap é usada para criar, carregar, manipular e exibir imagens bitmap na interface do aplicativo. Ela oferece recursos para carregar imagens de arquivos, desenhar na imagem, ajustar suas dimensões, aplicar operações de pintura, entre outros. Essa classe é particularmente útil para trabalhar com gráficos e imagens em aplicações que necessitam de recursos visuais. As imagens armazenadas em um objeto TBitmap podem ser exibidas em componentes visuais como TImage, TPaintBox, TPicture, TCanvas, entre outros.

Biblioteca

Para codificar e decodificar uma imagem(Bitmap) em Base64, utilizar a classe TImageUtils da unit Utils.Image.pas.

..\Base64Bitmap\Utils\Utils.Image.pas

FMX

Para os projetos em Firemonkey definir a diretiva de compilação HAS_FMX:

image

Uso da biblioteca:

uses Utils.Image.pas;

Bitmap para Base64:

var
  lBase64: string;
  lItem: TCustomBitmapItem; // FMX.MultiResBitmap
begin
  // ENCODE BITMAP

  //VCL
  lBase64 := TImageUtils.BitmapToBase64(TImage.Picture.Bitmap);

  //FMX
  lItem := TImage.MultiResBitmap.ItemByScale(1, False, True);
  lBase64 := TImageUtils.BitmapToBase64(lItem.Bitmap);

Base64 para Bitmap:

var
  lBase64: string;
  lBitmap: TBitmap;
  lItem: TCustomBitmapItem; // FMX.MultiResBitmap
begin
  lBitmap := nil;
  try
    // DECODE BASE64
    lBitmap := TImageUtils.Base64ToBitmap(lBase64);

    //VCL
    TImage.Picture.Assign(nil);
    TImage.Picture.Assign(lBitmap);

    //FMX
    TImage.MultiResBitmap.Clear;
    lItem := TImage.MultiResBitmap.ItemByScale(1, False, True);
    lItem.Bitmap.Assign(lBitmap);
  finally
    lBitmap.Free;
  end;

Exemplos:

Exemplo compilado

Exemplo FMX

..\Base64Bitmap\FMX\
Base64Bitmap.mp4

Servidor REST(VCL)

..\Base64Bitmap\VCL\
Base64BitmapServerREST.mp4

Licença

Base64Bitmap is free and open-source software licensed under the License

base64bitmap's People

Contributors

antoniojmsjr avatar

Stargazers

herlonfilgueira avatar Ramon Souza avatar Rano avatar Edmar Soethe da Silva avatar Alexander avatar  avatar Edwin Yip avatar Luiz Freitas avatar Yúri avatar  avatar Reinaldo Alberto avatar Francisco Aurino avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.