小编vvy*_*vye的帖子

Paper.js不会正确调整画布大小

我正在尝试Paper.js以获得乐趣,但似乎我已经陷入了困境.

添加resize="true"canvas标记应该使元素与浏览器窗口一样高和宽.但是,这样做会导致一些相当奇怪的行为.

我希望画布在加载页面后立即调整到视口,但它没有这样做,这就是为什么我最初认为它根本没有调整大小.然而,实际发生的事情更加奇怪:画布的默认大小为300x150,当我调整视口大小时,它会慢慢增长 - 但是会无限期地增长.

为了记录,我尝试过使用data-paper-resize="true"或者只resize使用Chrome或者使用Chrome而不是Firefox - 但都无济于事.

如果这个问题是由我的一些令人费解的奇怪设置引起的,我不期待答案.但是,我想知道这个问题是否常见(或者甚至已知存在)并且已知原因和解决方案.

这是我正在使用的代码:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="paper-full.min.js"></script>
        <script type="text/paperscript" canvas="myCanvas">

            var path = new Path();
            path.strokeColor = 'black';
            path.moveTo(new Point(120, 120));
            path.lineTo(new Point(500, 500));

        </script>
    </head>
    <body>
        <canvas id="myCanvas" style="border: 1px dotted red;" resize="true"></canvas>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript paperjs

30
推荐指数
2
解决办法
1万
查看次数

如何强制两个实例变量具有相同的泛型类型?

假设我有一个包含泛型类型的两个实例变量的类,我该如何强制这些类型相同?

我没有在其他地方找到任何类似的问题(更不用说答案了),这可能是因为我使用了错误的术语.有这个问题,但我不确定如何将它应用到我的情况.

简而言之,如何才能使最后一行代码无法编译?

class Foo<T> {
    private T value;
}

class Bar {
    private Foo var1;
    private Foo var2;

    public Bar(Foo var1, Foo var2) {
        this.var1 = var1;
        this.var2 = var2;
    }

    public static void main(String[] args) {
        Foo<String> var1 = new Foo<>();
        Foo<Integer> var2 = new Foo<>();
        Bar b = new Bar(var1, var2); // this should not work
    }
}
Run Code Online (Sandbox Code Playgroud)

java generics

24
推荐指数
1
解决办法
1334
查看次数

CMake无法使用相对文件路径找到静态库

我想玩Allegro库,但我似乎无法让我的测试项目正确链接.确切地说,我收到cannot find -l<...>错误,<...>我指定使用的文件在哪里target_link_libraries.(详见下文.)

为了记录,我并不是所有关于构建过程的知识,我通常采用的方法是"单击一个按钮,希望弹出一个可执行文件,如果没有,则依靠试错." 我在这里发现了很多类似的问题,但似乎问题或解决方案与我所遇到的不同.我希望有一个明确的"这就是你做错了什么,而这就是做什么".

那就是说,这是我的项目结构:

/include
/lib
/src
    main.cpp
CMakeLists.txt
Run Code Online (Sandbox Code Playgroud)

我从Allegro二进制包复制的include和lib目录,lib是所有.a文件所在的位置.

这是我的CMakeLists.txt所说的:

cmake_minimum_required(VERSION 3.2)
project(AllegroTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -static-libgcc -static-libstdc++ -fpermissive")
add_definitions( -DALLEGRO_STATICLINK )

file(GLOB SOURCES src/*.cpp)
set(SOURCE_FILES ${SOURCES})
add_executable(AllegroTest ${SOURCE_FILES})

include_directories(include)

target_link_libraries(AllegroTest
    liballegro-5.0.10-static-mt.a
    liballegro_acodec-5.0.10-static-mt.a
    liballegro_audio-5.0.10-static-mt.a
    libvorbisfile-1.3.2-static-mt.a
    libvorbis-1.3.2-static-mt.a
    liballegro_color-5.0.10-static-mt.a
    liballegro_dialog-5.0.10-static-mt.a
    liballegro_font-5.0.10-static-mt.a
    liballegro_image-5.0.10-static-mt.a
    liballegro_memfile-5.0.10-static-mt.a
    liballegro_physfs-5.0.10-static-mt.a
    liballegro_primitives-5.0.10-static-mt.a
    liballegro_ttf-5.0.10-static-mt.a
    libdumb-0.9.3-static-mt.a
    libFLAC-1.2.1-static-mt.a
    libfreetype-2.4.8-static-mt.a
    libogg-1.2.1-static-mt.a
    libzlib-1.2.5-static-mt.a
    libopenal-1.14-static-mt.a
)

target_link_libraries(AllegroTest
    libgdiplus.a
    libuuid.a
    libkernel32.a
    libwinmm.a
    libpsapi.a
    libopengl32.a
    libglu32.a
    libuser32.a
    libcomdlg32.a
    libgdi32.a
    libshell32.a
    libole32.a
    libadvapi32.a
    libws2_32.a
    libshlwapi.a …
Run Code Online (Sandbox Code Playgroud)

c++ linker allegro cmake

11
推荐指数
1
解决办法
3647
查看次数

如何在 Go 中更改文件的创建日期?

我可以在 Go 中更改文件的创建时间(显然也称为出生时间btime)吗?如果可以,如何更改?

我在 Go 中找到了几种处理文件时间的方法,包括os.Chtimes这个包- 然而,前者不支持 btime,而后者似乎只处理读取日期,而不是更改它们。

我正在寻找 Windows 解决方案,尽管一般答案也不会造成什么影响。

filesystems go

6
推荐指数
0
解决办法
2588
查看次数

标签 统计

allegro ×1

c++ ×1

cmake ×1

filesystems ×1

generics ×1

go ×1

java ×1

javascript ×1

linker ×1

paperjs ×1