AsphyreDXUtils.pas
上传用户:ctlcnc
上传日期:2021-12-10
资源大小:4933k
文件大小:1k
源码类别:

2D图形编程

开发平台:

Delphi

  1. unit AsphyreDXUtils;
  2. //---------------------------------------------------------------------------
  3. interface
  4. //---------------------------------------------------------------------------
  5. uses
  6.  Direct3D9;
  7. //---------------------------------------------------------------------------
  8. function ToD3DColorValue(Color: Cardinal): TD3DColorValue;
  9. function FromD3DColorValue(const Value: TD3DColorValue): Cardinal;
  10. //---------------------------------------------------------------------------
  11. implementation
  12. //---------------------------------------------------------------------------
  13. function ToD3DColorValue(Color: Cardinal): TD3DColorValue;
  14. begin
  15.  Result.b:= (Color and $FF) / 255.0;
  16.  Result.g:= ((Color shr 8) and $FF) / 255.0;
  17.  Result.r:= ((Color shr 16) and $FF) / 255.0;
  18.  Result.a:= ((Color shr 24) and $FF) / 255.0;
  19. end;
  20. //---------------------------------------------------------------------------
  21. function FromD3DColorValue(const Value: TD3DColorValue): Cardinal;
  22. begin
  23.  Result:= Round(Value.b * 255.0) or (Round(Value.g * 255.0) shl 8) or
  24.   (Round(Value.r * 255.0) shl 16) or (Round(Value.a * 255.0) shl 24);
  25. end;
  26. //---------------------------------------------------------------------------
  27. end.