标签:Picture Graphic fdmtPicture MyJPEG Fdmemtable 例子 内存 img2 MyStream
1 var 2 aStream: TMemoryStream; 3 LDataSet: TFDDataSet; // 申请一个FD数据集 4 MyStream: Tmemorystream; 5 MyJPEG: TJpegImage; 6 MyPng: TPngImage; 7 begin 8 inherited; 9 if img2.Picture.Graphic = nil then 10 begin 11 Application.MessageBox('没有图片可以增加!!', '提示', MB_OK + MB_ICONWARNING + MB_TOPMOST); 12 13 end 14 else 15 begin 16 aStream := TMemoryStream.Create(); 17 MyStream := TMemoryStream.Create(); 18 try 19 img2.Picture.SaveToStream(aStream); 20 fdmtPicture.Append; 21 fdmtPicture.FieldByName('p_picture_id').AsLargeInt := getSnowflake; 22 fdmtPicture.FieldByName('p_picture_guid').AsString := GetGUID; 23 fdmtPicture.FieldByName('p_products_id').AsLargeInt := aid; 24 fdmtPicture.FieldByName('p_picture_name').AsString := EditImageName.Text; 25 if img2.Picture.Graphic is TJPEGImage then 26 begin 27 MyJPEG := TJpegImage.Create; 28 MyJPEG.Assign(img2.Picture.Graphic); 29 MyJPEG.CompressionQuality := 10; 30 MyJPEG.Compress; 31 MyJPEG.SaveToStream(MyStream); 32 end; 33 if img2.Picture.Graphic is TPngImage then 34 begin 35 MyPng := TPngImage.Create; 36 MyPng.Assign(img2.Picture.Graphic); 37 MyPng.CompressionLevel := 9; 38 MyPng.SaveToStream(MyStream); 39 end; 40 MyStream.Position := 0; 41 TBlobField(fdmtPicture.FieldByName('p_picture_thumbnail')).LoadFromStream(MyStream); 42 aStream.Position := 0; 43 TBlobField(fdmtPicture.FieldByName('p_picture_image')).LoadFromStream(aStream); 44 fdmtPicture.Post; 45 img2.Picture.Graphic := nil; 46 finally 47 MyStream.free; 48 aStream.Free; 49 end; 50 end;
标签:Picture,Graphic,fdmtPicture,MyJPEG,Fdmemtable,例子,内存,img2,MyStream 来源: https://www.cnblogs.com/Thenext/p/16422021.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。