zoukankan      html  css  js  c++  java
  • 再学 GDI+[97]: TGPImage(17) 获取 GDI+ 所支持的可编码、可解码的图像格式

    其实这和 TGPImage 是没有关系的.

    本例效果图:



    代码文件:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        procedure FormCreate(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    uses GDIPOBJ, GDIPAPI;
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
      num, size, i: Cardinal;
      ImageCodecInfo: PImageCodecInfo;
    Type
      ArrImageCode = array of TImageCodecInfo;
    begin
      Memo1.Clear;
    
      {获取 GDI+ 可以编码的图像格式:}
      GetImageEncodersSize(num, size);
      GetMem(ImageCodecInfo, size);
      GetImageEncoders(num, size, ImageCodecInfo);
      Memo1.Lines.Add('GDI+ 可以编码的图像格式有:');
      for i := 0 to num - 1 do
        Memo1.Lines.Add(ArrImageCode(ImageCodecInfo)[i].MimeType);
      FreeMem(ImageCodecInfo, size);
    
      {获取 GDI+ 可以解码的图像格式:}
      GetImageDecodersSize(num, size);
      GetMem(ImageCodecInfo, size);
      GetImageDecoders(num, size, ImageCodecInfo);
      Memo1.Lines.Add('');
      Memo1.Lines.Add('GDI+ 可以解码码的图像格式有:');
      for i := 0 to num - 1 do
        Memo1.Lines.Add(ArrImageCode(ImageCodecInfo)[i].MimeType);
      FreeMem(ImageCodecInfo, size);
    end;
    
    end.
    
    窗体文件:
    object Form1: TForm1
      Left = 0
      Top = 0
      Caption = 'Form1'
      ClientHeight = 251
      ClientWidth = 206
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      OnCreate = FormCreate
      PixelsPerInch = 96
      TextHeight = 13
      object Memo1: TMemo
        Left = 0
        Top = 0
        Width = 201
        Height = 251
        Align = alLeft
        Lines.Strings = (
          'Memo1')
        ScrollBars = ssBoth
        TabOrder = 0
        ExplicitHeight = 239
      end
    end
    
  • 相关阅读:
    关于云原生应用的思考
    动手实现 LRU 算法,以及 Caffeine 和 Redis 中的缓存淘汰策略
    Spring5-Reactor函数式编程
    架构简洁之道:从阿里开源应用架构 COLA 说起
    如何优雅地运用位运算实现产品需求?
    如何优雅地运用位运算实现产品需求?
    图形处理:给 Canvas 文本填充线性渐变
    深入理解EnableAutoConfiguration原理
    pwnable.tw之3x17
    WebRTC之完整搭建Jitsi Meet指南
  • 原文地址:https://www.cnblogs.com/del/p/1237272.html
Copyright © 2011-2022 走看看