首页 > 系统相关 >Fdmemtable 内存表保存图片的例子

Fdmemtable 内存表保存图片的例子

时间:2024-08-15 18:04:36浏览次数:11  
标签:Picture Graphic fdmtPicture MyJPEG Fdmemtable 例子 内存 img2 MyStream

var
aStream: TMemoryStream;
LDataSet: TFDDataSet; // 申请一个FD数据集
MyStream: Tmemorystream;
MyJPEG: TJpegImage;
MyPng: TPngImage;
begin
inherited;
if img2.Picture.Graphic = nil then
begin
Application.MessageBox('没有图片可以增加!!', '提示', MB_OK + MB_ICONWARNING + MB_TOPMOST);

end
else
begin
aStream := TMemoryStream.Create();
MyStream := TMemoryStream.Create();
try
img2.Picture.SaveToStream(aStream);
fdmtPicture.Append;
fdmtPicture.FieldByName('p_picture_id').AsLargeInt := getSnowflake;
fdmtPicture.FieldByName('p_picture_guid').AsString := GetGUID;
fdmtPicture.FieldByName('p_products_id').AsLargeInt := aid;
fdmtPicture.FieldByName('p_picture_name').AsString := EditImageName.Text;
if img2.Picture.Graphic is TJPEGImage then
begin
MyJPEG := TJpegImage.Create;
MyJPEG.Assign(img2.Picture.Graphic);
MyJPEG.CompressionQuality := 10;
MyJPEG.Compress;
MyJPEG.SaveToStream(MyStream);
end;
if img2.Picture.Graphic is TPngImage then
begin
MyPng := TPngImage.Create;
MyPng.Assign(img2.Picture.Graphic);
MyPng.CompressionLevel := 9;
MyPng.SaveToStream(MyStream);
end;
MyStream.Position := 0;
TBlobField(fdmtPicture.FieldByName('p_picture_thumbnail')).LoadFromStream(MyStream);
aStream.Position := 0;
TBlobField(fdmtPicture.FieldByName('p_picture_image')).LoadFromStream(aStream);
fdmtPicture.Post;
img2.Picture.Graphic := nil;
finally
MyStream.free;
aStream.Free;
end;
end;

转自https://www.cnblogs.com/Thenext/p/16422021.html

标签:Picture,Graphic,fdmtPicture,MyJPEG,Fdmemtable,例子,内存,img2,MyStream
From: https://www.cnblogs.com/ynmsnc/p/18361525

相关文章

  • JS 对象与数组互相嵌套的复杂例子
    JS写法如下:constmyObj={name:"John",age:30,cars:[{name:"Ford",models:["Fiesta","Focus","Mustang"]},{name:"BMW",models:["32......
  • 【C++】动态内存(二)智能指针
    由于new和delete会造成一定程度的内存泄漏问题,以及内存所有权不清晰,因此引入自动销毁相应内存空间的智能指针。智能指针是抽象数据类型,本身具有析构函数,因此调用之后会自动调用析构函数,在析构函数中会自动调用delete来释放相应内存空间,因此不用手动显式的调用delete。【......
  • Blob测量(例子)
      通过定位黑色塑料件的中心位置来定位目标,代码流程median_image中值滤波,去除亮点和暗点,让图片模糊化threshold阈值二值化,获取塑料件select_shape去除细小的干扰 dev_close_window()list_files('Pic',['files','follow_links'],ImageFiles)tuple_rege......
  • 【HW系列+技战法】内存马Webshell对抗
    一、什么是Webshell?二、迎接新的挑战:无文件型内存马三、对抗策略:从文件落地到内存马的全方位反击3.1文件型Webshell的检测与防御3.2内存型Webshell的检测与防御四、免杀技术:在攻防对抗中的进阶手段一、什么是Webshell?Webshell是黑客常用的一种“隐形利刃”,其......
  • C/C++ 动态分配:malloc()和free()所涉及的空指针和强制类型转换、与new和delete的对比
    1、动态分配的内涵所谓动态内存分配,是指在程序运行时根据需要分配和释放内存,而不是在编译时确定内存需求。动态分配包括两方面的内涵:在堆上分配内存。对于linux的虚拟内存,可以分成以下5段:文本段、数据段(分初始化和未初始化数据段)、堆和栈。不使用动态分配定义一个变量,这个变......
  • C语言内存管理,分配、使用、释放以及安全性
    在C++中,内存分配是通过几种不同的方式来管理的。这包括自动存储、静态存储和动态存储。下面分别解释这些存储类别以及如何使用它们进行内存分配。#1,自动存储(AutomaticStorage)这是最常用的存储类型,当一个变量在函数内被声明时,它会自动获得存储空间,并且在函数结束时自动释放。例......
  • C语言结构体内存对齐
    结构体或许小伙伴们都知道,或许也能够做到熟悉的去运用结构体,但你们有没有想过:整型数组存放的数据都是整型,字符数组存放的数据都是字符,它们类型相同,所以也都能够做到在内存中紧密的存储,而结构体中存放的数据各种各样,它们的存储是否能做到在内存中紧密排列呢?又或者说,结构体的内存......
  • 一个单机多卡训练模型的例子
    """Mydemotrainscript."""importargparseimportloggingimportosimportrandomimporttimeimportnumpyasnpimporttorchfromtorchimportnn,optim,Tensorfromtorch.utils.dataimportDataLoader,Datasetdefparse......
  • milvus调用阿里云大模型例子
    环境:OS:Windowspycharm:2022.1python:3.11.9 1.安装依赖模块pipinstallpymilvustqdmdashscope或是分别单独安装pipinstalldashscope--timeout=100pipinstalltqdm--timeout=100pipinstallpymilvus--timeout=100 2.导入文本报道内容将如下文本文件解压到项目的......
  • JVM及其内存结构划分
    JVMJVM是什么?Java虚拟机(JVM)是一个可以执行Java字节码的虚拟机。它是一种抽象的计算机,具有自己的指令集和运行环境。JVM的主要工作是加载Java字节码(.class文件),然后执行这些字节码。JVM的作用平台无关性:JVM使得Java程序能够在任何安装了JVM的操作系统上运行,实现了所谓的“一次......