Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

部分重构 IMAGE 类 #28

Merged
merged 7 commits into from
Jul 6, 2020
Merged

部分重构 IMAGE 类 #28

merged 7 commits into from
Jul 6, 2020

Conversation

chirsz-ever
Copy link
Collaborator

IMAGE::newimage 一坨代码重构了。IMAGE 就是管理内存设备上下文(DC)的类,可以直接通过 GetDC(NULL) 得到屏幕 DC,然后用它建立内存 DC,因此不用先调用 initgraph 建立窗口。

关键 commit 是 04c1ae1

无长宽参数时默认建立 1×1 大小的 IMAGE 对象保持不变,但允许建立长或宽为 0 的 IMAGE 对象以及将 IMAGE 对象的长或宽 resize 到 0 大小。

现可提前调用 `ege::newimage`
创建的 Bitmap 至少为 1x1,传入的长宽值则被截取到 0 或以上
不在 resize 和创建 IMAGE 时自动填充背景色
@wysaid
Copy link
Owner

wysaid commented Jul 4, 2020

所以, 在此基础之上, 如果开放 ege::Image 这个类, 会有什么问题吗, 要不把这个也支持了?

@wysaid
Copy link
Owner

wysaid commented Jul 4, 2020

举个例子:

int main()
{
    ege::Image img;
    initgraph(WIDTH, HEIGHT);
    // ...
}

像这样的代码, 在之前的版本是错误的, 加上这次PR之后, 能让它正确吗

@chirsz-ever
Copy link
Collaborator Author

所以, 在此基础之上, 如果开放 ege::Image 这个类, 会有什么问题吗, 要不把这个也支持了?

可以是可以,但 IMAGE 类目前太复杂了,不建议在这个 PR 里解决

@wysaid
Copy link
Owner

wysaid commented Jul 4, 2020

所以, 在此基础之上, 如果开放 ege::Image 这个类, 会有什么问题吗, 要不把这个也支持了?

可以是可以,但 IMAGE 类目前太复杂了,不建议在这个 PR 里解决

ok, 后面有计划放出来么。。。 cpp 还是应该有cpp的样子, 感觉放出来的话, 会好用不少

@wysaid
Copy link
Owner

wysaid commented Jul 4, 2020

不过放出来的话就得多测一下了

@wysaid
Copy link
Owner

wysaid commented Jul 4, 2020

尤其是很多萌新喜欢用全局变量...

不过放出来的话就得多测一下了

@chirsz-ever
Copy link
Collaborator Author

可以做,但我今年之后可能没什么时间了,我想留到下个版本解决。

@wysaid wysaid merged commit 4949304 into wysaid:master Jul 6, 2020
@chirsz-ever chirsz-ever deleted the fix-issue-2 branch July 6, 2020 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants