炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4513|回复: 3

[已解决] XImage_SetRotateAngle设置图片旋转后,无法按stretch进行绘制

[复制链接]

该用户从未签到

发表于 2016-12-1 16:12:15 | 显示全部楼层 |阅读模式
BUG提交
炫彩版本号: 1.9.8
操作系统: win10
开发环境: Delphi
编程语言: Delphi
问题分类: 其他 
简短描述: XImage_SetRotateAngle设置图片旋转后,无法按stretch进行绘制
本帖最后由 小王子 于 2016-12-1 16:13 编辑

测试代码
program WinMain;

{$APPTYPE GUI}

uses
  Windows, XCGUI;

var
  hWindow, hPic, hShape:Integer;
begin
  XInitXCGUI(nil) ;
  hWindow := XWnd_Create(0, 0, 600, 500, 'Test', 0, xc_window_style_default);

  hPic := XImage_LoadFile('1.jpg', True);
  XShapeRect_Create(0, 0, 400, 300, hWindow);
  hShape := XShapePic_Create(0, 0, 400, 300, hWindow);
  XImage_SetDrawType(hPic, image_draw_type_stretch);
  XImage_SetRotateAngle(hPic, 90);
  XShapePic_SetImage(hShape, hPic);

  XBtn_SetType(XBtn_Create(0,0,40,22,'Close',hWindow), button_type_close);
  XWnd_ShowWindow(hWindow, 5);
  XRunXCGUI();
  XExitXCGUI();
end.
旋转前效果,正常!

旋转前效果

旋转前效果


旋转后效果,无法铺满!

旋转后效果

旋转后效果






该用户从未签到

发表于 2016-12-1 20:15:25 | 显示全部楼层
炫彩是单状态的,也就是 一个Image只能保存一个 状态,比如说你缩放了,就不能旋转了,如果你想旋转且缩放的话可以用设计器来实现。不过只能是静态的,意思就是 只能弄一次,不适合动态创建显示,
除非你自己 用 图像处理模块,处理好了,然后炫彩加载显示,这样才适合动态。

该用户从未签到

 楼主| 发表于 2016-12-2 15:57:00 | 显示全部楼层
dasemimi 发表于 2016-12-1 20:15
炫彩是单状态的,也就是 一个Image只能保存一个 状态,比如说你缩放了,就不能旋转了,如果你想旋转且缩放 ...

明白了,但能否加个HIMAGE WINAPI XImage_Resize(HIMAGE hImage, int Width, int Height)函数?
对现有图片进行尺寸调整,返回调整后的新图片句柄

该用户从未签到

发表于 2016-12-2 19:03:04 | 显示全部楼层
小王子 发表于 2016-12-2 15:57
明白了,但能否加个HIMAGE WINAPI XImage_Resize(HIMAGE hImage, int Width, int Height)函数?
对现有图 ...

暂时不能,你只能用代码鲁,然后绘制上去就ok了
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-4-27 12:50 , Processed in 0.074009 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表