本文介绍了Delphi Image DLL在Azure中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有一个动态链接库来处理我们软件的一些图像。我最近在Golang创建了一个应用程序,它使用这个DLL,在测试环境中一切工作得很好,但在Azure中,创建的图像都是黑色的,我不知道这是不是Delphi的限制,OS,Azure,如果有人有提示的话。在生成图像的代码下面,即使是只有一张图的简单代码,图像也会变成黑色。
AOut := 'test.bmp';
vBitmap := TBitmap.Create;
vBitmap.Width := 2399;
vBitmap.Height := 3337;
vBitmap.PixelFormat := pf24bit;
vBitmap.Canvas.Brush.Color := clRed;
vBitmap.Brush.Style := bsSolid;
vBitmap.Canvas.FillRect(Rect(0,0,2399,3337));
vBitmap.SaveToFile(AOut);
一个附加信息,如果我得到画布的高度和宽度信息,我在Azure中就有所有的0,但在其他机器中,尺寸是正确的。
推荐答案
Azure应用服务有一些沙箱限制,尤其是在gdi方面。因此,部分(或全部)User32/GDI32 API调用失败。
有关详细信息,请参阅this wiki document。
这篇关于Delphi Image DLL在Azure中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!