嗨,这里是我的代码:
procedure TForm4.Button1Click(Sender: TObject);
var
png: TPNGImage;
data: PRGBQarray;
p: ^tagRGBQuad;
i, o: integer;
begin
png := TPNGImage.Create;
try
png.LoadFromFile('C:\Untitled.png');
for o := 1 to 100 do
begin
data:=png.Scanline[o];
for I := 1 to 400 do
begin
p := @data^[i];
p.rgbGreen := p.rgbBlue;
p.rgbRed := p.rgbGreen;
end;
end;
img.picture.Assign(png);
finally
png.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
它不起作用,它使pic杂乱,我确定这是因为rgbReserved.我该怎么办?
我编写了以下代码:
procedure MouseWheel(var Msg:TWMMouseWheel);message WM_MOUSEHWHEEL;
我将它用于基于TPanel的组件(TMyP = class(TPanel))(请注意,由于我自己的原因,我不想使用TCustomPanel)
但无论如何,当我在面板上使用鼠标滚轮时,不会调用该事件.请帮我!
您好我想知道这是什么rgbReserved的RGBQuadArray,当我改变为什么RGB颜色有该图像上显示一些丑陋的线条?它与rgbReserved?有关吗?
我正在寻找一种用反色绘制文字的方法.对于形状,我们TPenMode可以将其设置为pmNot,但我们不能对文本执行此操作.我怎么能这样做呢?
您可能会将此视为一个愚蠢的问题,但我很好奇如何使用APPCRASH错误终止我的delphi制作的应用程序.(也称为"不发送"错误!!)
Thnx提前
我实际上想要导入一个activeX控件,而它没有安装在Delphi上,它的类不是特定的.我实际上想要在运行时导入和使用ActiveX控件,而无需在delphi IDE中导入它们.这可能吗?
我做了这个声明:private...T:TTimer
现在当我T在创建后释放时,指针仍然保持不变,但只要目标对象被销毁,对该指针的任何操作都可能导致Invalida Pointer Operation我只想知道目标对象是否被销毁.我怎样才能做到这一点?(我不想用FreeAndNil)
好的我正在编写一个Zoom组件,我希望它能在一个辅助线程中从屏幕捕获.您可以假装我只想在空组件中派生TThread.我没有在线程中写任何代码,所以它只是一个简单的无用线程.我Thrd := TCaptureThread.Create(False);在组件主类中编写了这段代码.然后我Thrd.Free在主类破坏代码中写道.现在,当我关闭整个应用程序时,尽管它会破坏所有内容,但该过程并未完全终止.在Windows任务管理器中显示线程数为1但该过程仍然存在.如果我评论线程创建行,一切都会变好,应用程序会很快终止.我该怎么办呢?:(
提前致谢
我正在使用VCL TPNGImage类来加载PNG图像.如果我TPNGImage使用FindClass(S).Create(S是String和它可能包含'TPNGImage')来创建对象,当我尝试使用LoadFromStreamI淡化访问冲突异常时加载png图像.你有什么想法?
请注意,我使用以下代码来创建新实例:
P := TPNGImage(FindClass('tpngimage').NewInstance);
Run Code Online (Sandbox Code Playgroud) 我正在尝试捕获并处理网页或其中的插件即将发布的每个请求.例如,如果您打开控制台并启用Net日志记录,则在即将发送HTTP请求时,控制台会在那里显示它.我想捕获每个链接并调用我的功能,即使视频是由flash播放器加载的(如果它是http,也会登录到控制台).任何人都可以指导我应该做什么,或者我应该从哪里开始?
编辑:我希望能够取消请求并在需要时按照我的方式处理.