在png图像周围,在加载图像上或移动图像时出现奇怪的矩形.
矩形在24位PNG或jpg中很少出现,但是32位PNG是个问题.有谁知道是什么原因造成的?PNG是在Photoshop中创建的.我也尝试了gimp但同样的问题.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, pngimage, jpeg, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Image2: TImage;
Timer1: TTimer;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Label1: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: …Run Code Online (Sandbox Code Playgroud) application1运行另一个带有2个参数的application2,例如:(注意:application1不是我的程序)
application2.exe -d:C:\Program Files\app folder -z:Folder menu\app icons
Run Code Online (Sandbox Code Playgroud)
问题是......引号不知何故消失了,所以代替2个参数application2将获得5个参数
Param1=-d:C:\Program
Param2=Files\app
Param3=folder
Param4=-z:Folder menu\app
Param5=app icons
Run Code Online (Sandbox Code Playgroud)
有没有办法将所有参数检索为单个字符串?
我尝试在循环中组合参数
for i:=1 to ParamCount do
parameters=parameters+' '+ParamStr(i);
Run Code Online (Sandbox Code Playgroud)
但这不是一个好的解决方案,因为路径也可以包含双重或三重空间,例如.
Program files\app folder\
Run Code Online (Sandbox Code Playgroud)
cmd.exe可以捕获%*中的所有参数,但如果参数包含特殊字符,如^^〜@@ &&,则会产生错误的结果
我的程序在后台运行,并使用计时器定期检查Capslock是ON还是OFF.
我的问题是,是否存在比使用计时器更好的解决方案?
procedure TForm1.Timer2Timer(Sender: TObject);
var KeyState: TKeyboardState;
begin
GetKeyboardState(KeyState) ;
if (KeyState[VK_CAPITAL] = 0) then
CheckBox1.Checked:=False //Capslock is OFF
else
CheckBox1.Checked:=True; //Capslock is ON
end;
Run Code Online (Sandbox Code Playgroud)