本文介绍了我可以访问TBits内部位图吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
特别是,我想预设所需的大小,从外部源获取位图,然后以面向对象的方式处理数据.
In particular, i want to preset desired size, fetch a bitmap from external source, and then work with data in objecty-oriented manner.
我猜是什么
- TBits不仅仅是布尔值和 的简单集合.
- 内部存储是连续的.
我对这样的假设正确吗?
Am i correct with such assumptions?
推荐答案
- 正确,
TBits
是内部位结构的,因此它不是布尔值的直接集合. - 是的,存储是通过分配足够大以容纳size(以SizeOf(integer)为增量)的连续内存来处理的.
- Correct,
TBits
is internally bit-structured, so it's not a straightforward collection of booleans. - Yes, storage is handled by allocating contiguous memory big enough to carry the size( in increments of SizeOf(integer)).
要访问内部数据指针,可以使用class helpers
.
To get access to the internal data pointer, class helpers
can be used.
Type
TBitsHelper = class helper for TBits
private
function GetBitsPointer: Pointer;
public
property BitsPt: pointer read GetBitsPointer;
end;
function TBitsHelper.GetBitsPointer: Pointer;
begin
with Self do Result := FBits;
end;
这篇关于我可以访问TBits内部位图吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!