DevCo, la société qui préside maintenant aux destinées de Delphi, annonce des versions "Turbo" pour Delphi, comme à la grande époque du Turbo Pascal de Borland.
Plus de détails sur le blog de Marco Cantu.
Aller au contenu | Aller au menu | Aller à la recherche
jeudi, août 10 2006
Par Pierre-Jean Coudert le jeudi, août 10 2006, 10:25
DevCo, la société qui préside maintenant aux destinées de Delphi, annonce des versions "Turbo" pour Delphi, comme à la grande époque du Turbo Pascal de Borland.
Plus de détails sur le blog de Marco Cantu.
mardi, octobre 12 2004
Par Pierre-Jean Coudert le mardi, octobre 12 2004, 18:30
Je cherche sans succès depuis un moment un logiciel libre me permettant de créer des icones multi-résolution pour Windows.
Je me suis donc décidé à écrire en Delphi, un petit outils pour réaliser cette tâche bien précise : créer un fichier .ico contenant toute les résolutions et profondeurs nécessaires à partir d'une image quelconque. Dés que le développement sera finalisé, je l'annoncerai ici.
Pour me simplifier la tâche j'utilise le génial ImageMagick qui dispose d'un moteur accessible en OLE Automation. La difficulté consiste à créer un SafeArray contenant les différents paramètres à passer à ImageMagickObject.
Voici un extrait du code permettant de réaliser ça :
procedure TFormMain.Convert( ImgSource, ImgDest:TImage; SizeX, SizeY : Integer;PixelFormat: TPixelFormat); var SrcName, DestName : String; sa_cmdline : Variant; Params : PSafeArray; StrList : TStringList; i : Integer; begin StrList := TStringList.Create; SrcName := ExtractFilePath(Application.ExeName)+'tmp.bmp'; DestName := Format(ExtractFilePath(Application.ExeName)+'tmpdest%d_%d.bmp',[SizeX,ord(PixelFormat)]); ImgSource.Picture.SaveToFile(SrcName);
StrList.Add('-geometry');
StrList.Add(Format('%dx%d',[Sizex,SizeY]));
Case PixelFormat of
pf1bit : begin
StrList.Add('-monochrome');
StrList.Add('-dither');
end;
pf4bit : begin
StrList.Add('-colors');
StrList.Add('-16');
StrList.Add('-dither');
end;
pf8bit : begin
StrList.Add('-colors');
StrList.Add('-256');
StrList.Add('-dither');
end;
pf16bit : begin
StrList.Add('-colors');
StrList.Add('-65536');
end;
end;
StrList.Add(SrcName);
StrList.Add(DestName);
sa_cmdline := VarArrayCreate([0,StrList.Count-1], varVariant);
for i := 0 to StrList.Count-1 do
sa_cmdline[i]:=StrList[i];
Params := PSafeArray(TVarData(sa_cmdline).VArray);
MagickImage1.Convert(Params);
ImgDest.Picture.LoadFromFile(DestName);
StrList.Free;
end;