【问题标题】:Comparison of 2 bitmaps with Allegro 52 位图与 Allegro 5 的比较
【发布时间】:2012-08-16 16:05:32
【问题描述】:

我搜索了很多,但我找不到任何关于在 allegro 5 中比较 2 个位图的信息。在 Allegro 4 中只有 is_same_bitmap()。我想问你除了比较位图的像素之外是否有任何简单的方法. 谢谢。

【问题讨论】:

    标签: allegro5


    【解决方案1】:

    您需要比较像素。 (或者你可以计算一个哈希值并比较它们,但是做像素可能会更快,因为你可以在找到不匹配的像素时立即停止。)

    为了加快速度,您应该通过al_lock_bitmap_region() 锁定位图并通过返回的数据结构直接访问内存。

    【讨论】:

    • 好的,那我比较一下像素。谢谢。
    • 我尝试比较像素,但我的部分代码不起作用。有两个位图。其中一个是显示的一部分(ALLEGRO_DISPLAY),另一个是位图。我的代码是在 x,y 坐标中获取显示部分,如下面的位图。我只能找到“al_create_sub_bitmap”来获取显示部分,但它不起作用。如何将显示的一部分作为位图? ALLEGRO_BITMAP *backbuf=al_get_backbuffer(display); ALLEGRO_BITMAP *newbitmap =al_create_sub_bitmap(backbuf,x,y,25,25);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多