小编Die*_*nci的帖子

使用java中的ESC/POS在热点打印机中打印位图整页宽度

我正在尝试在支持ESC命令的热敏打印机中打印576像素宽的图像,问题是打印图像位的命令"ESC*"只允许我打印255像素宽的图像(如果我使用的是576)像素图像一些部分被打印,其余部分是随机符号),在documentacion中说这些命令最多接受255个字节,如下所示:

ESC * m nL nH d1Ödk
Name Specify bit image mode 
Code ASCII ESC * m nL nHd1...dk 
 Hex. 1B 2A m nL nHd1...dk 
 Decimal 27 42 m nL nHd1...dk 
Defined Region m = 0,1,32,33 
 0 ? nL ? 255 
 0 ? nH ? 3 
 0 ? d ? 255 
Run Code Online (Sandbox Code Playgroud)

所以我不知道如何打印一个最大的打印机页面宽度(576像素)的图像,我有这个代码打印图像:

public class ESCPOSApi {

    private final byte[] INITIALIZE_PRINTER = new byte[]{0x1B,0x40};

    private final byte[] PRINT_AND_FEED_PAPER = new byte[]{0x0A};

    private final byte[] SELECT_BIT_IMAGE_MODE = new byte[]{(byte)0x1B, (byte)0x2A};
    private final …
Run Code Online (Sandbox Code Playgroud)

java printing image thermal-printer

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

如何使用QPainter或QPainterPath使用一个形状或一组形状连接在Qt中绘制自定义形状(如撕裂)

我有这个简单的问题,我不会画一个像撕裂的形状,但没有使用更多的一个形状(椭圆和多边形)因为QPen是为每个形状绘制,我想要的是像连接形状创建一个新的,或告诉QT跨越两个形状的边界,有关我想要看到图像的更多信息,我想创建一个这样的shabe:https://docs.google.com/open?id = 0Bxb0hT_U-KqJSHZUMTF2eFlOYzg

告诉我你是否能看到我想要的图像和理解,并感谢你的帮助.

c++ qt qpainter

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

在@Aspect中使用Spring @Profile

所以我想要的是在配置文件处于活动状态时将特定的Spring Aspect应用于我的类,但我找不到解决方案,我尝试在http://city81.blogspot.com/2012/05/中使用的方法-spring-profile-with.html但很老,在我的情况下不起作用,我有一个Spring Started项目进行测试,我根据链接执行以下操作:

配置应用程序:

@Configuration
@ComponentScan(basePackages= {
        "demo",
        "demo.aspect"
})
@EnableAutoConfiguration(exclude=AopAutoConfiguration.class)
@EnableAspectJAutoProxy(proxyTargetClass=true)
public class Application {

    @Bean
    @Profile("asdasd") //testing profile to bean level
    public TestAspect testAspect() { //this allow @autowired in my aspect
        TestAspect aspect = Aspects.aspectOf(TestAspect.class);
        return aspect;
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的看点:

//TESTING IN ALL THIS WAYS BUT NOTHING
//@Component
//@Profile("asdasd")
@Configurable
//@Configuration
@Aspect
public class TestAspect{
    public static final Logger LOGGER = LogManager.getLogger(testControllerEX.class);

    @Autowired
    private testService testService;

    public …
Run Code Online (Sandbox Code Playgroud)

java spring aspectj spring-aop spring-boot

6
推荐指数
1
解决办法
1657
查看次数

使用java nio Paths时未安装JBoss wildfly 8.x Provider"vfs"

我正在尝试将我的spring应用程序从glassfish 4导出到JBoss wildfly 8.x或9 alpha,但是当我的应用程序在我的代码的某些部分启动时抛出异常:

Caused by: java.lang.RuntimeException: java.nio.file.FileSystemNotFoundException: Provider "vfs" not installed
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:218)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
    ... 3 more
Caused by: java.nio.file.FileSystemNotFoundException: Provider "vfs" not installed
    at java.nio.file.Paths.get(Paths.java:147) [rt.jar:1.7.0_72]
    at com.springmvcangular.backend.utils.entity.BaseEntityInitializer.extendsEntities(BaseEntityInitializer.java:123)
    at com.springmvcangular.backend.utils.entity.BaseEntityInitializer.initializeBaseEntities(BaseEntityInitializer.java:88)
    at com.springmvcangular.backend.config.ApplicationInitializer.onStartup(ApplicationInitializer.java:60)
    at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175)
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:178)
    ... 7 more
Run Code Online (Sandbox Code Playgroud)

在我的班级BaseEntityInitializer中,我有以下例外情况:

packagepath = Paths.get(this.getClass().getClassLoader()
                            .getResource(path.replace('.', '/')).toURI());
Run Code Online (Sandbox Code Playgroud)

其中,path它的一个包路径一样com.something.model,为什么在我的GlassFish 4服务器这完美的作品和我需要在wildfly用呢?我不知道wildfly中缺少什么,或者我是否需要包含一些库.

java jboss wildfly

6
推荐指数
1
解决办法
4245
查看次数

Flash Builder 4.6本机扩展错误

我有一个错误,我不明白为什么出现,最奇怪的是有时会发生,但最近总是发生,我使用的代码是相同的,我没有对它做任何更改,事实上我不执行任何代码应用程序的开始,我使用按钮,所以我没有得到这个错误的原因请帮助我,错误是一个对话框,说:

本机扩展错误:存在打包错误/警告.检查每个目标平台的Flex Build Packaging Page中的每个本机扩展.你想继续吗?

当我点击是程序不启动时,debbuger告诉我这一行:

[SWF] SerialCOMGame.swf - 解压缩后的2,121,630字节

但从未开始,我使用RS232库进行串行通信,在得到此错误之前这项工作正常但我不知道发生了什么,我的C代码是:

/*
 * NativeSerialComunication.c
 *
 *  Created on: Jan 10, 2012
 *      Author: Diego Fernando
 */
#include "NativeSerialComunication.h"
int comport = 0;
int baudrate = 57600;
int buffsize = 4096;
unsigned char buffer[4096];
uint32_t comportOpened = 0;
FREObject IsSupported(FREContext ctx, void* functionData, uint32_t argc,
        FREObject argv[]) {
    FREObject result;
    uint32_t isSuppoerted = 1;
    FRENewObjectFromBool(isSuppoerted, &result);
    return result;
}

int startCOMListener() {
    if (!OpenComport(comport, baudrate)) {
        comportOpened = 1;
        return 1; …
Run Code Online (Sandbox Code Playgroud)

c serial-port actionscript-3 flash-builder air-native-extension

5
推荐指数
1
解决办法
3156
查看次数

在 RxJS 6 中为 Single、Maybe 和 Completable 创建类

创建自己的 Observable 扩展类是个好习惯吗?我想实现我自己的 Single 和 Completable 类,以便知道数据的数量或缺失,而不是 observable 可以返回,我希望它作为一个类,因为我在我的装饰器中使用reclect-metadata和使用design:returntype,所以我需要一个类而不是别名(因为使用别名,返回的类型将始终是 Object 而不是原始类构造函数)。

这个想法是:对于 Single observables 使用单个运算符,对于 Completable observables 使用 ignoreElements 运算符但没有 Typescript for Singles 中的类我不知道数据量只通过读取代码 Observable,该 observable 可以返回一个或许多或没有,我想要一个针对特定情况的 Single,这就是我想要的:

// some methods in some class
loginUser(userName: string, password: string): Single<User>
saveUser(user: User): Completable
Run Code Online (Sandbox Code Playgroud)

对我来说,这更具可读性(因为我在我的 Android 项目中使用 RxJava 2),并且我知道是否期望,没有我需要做的:

loginUser(userName: string, password: string): Observable<User> // if i chain this with other observables i don't know how much users this will return
saveUser(user: User): Observable<void> // simply ugly
Run Code Online (Sandbox Code Playgroud)

这对我的眼睛不好,你知道吗?所以我想创建这些类以便更好地阅读我的代码和更好的实现。

rxjs typescript rxjs5 rxjs6

5
推荐指数
1
解决办法
605
查看次数

我无法从QMetaObject获取方法,方法offset和count是等于

我有一个继承自QObject并具有Q_OBJECT宏的类:

class SomeClass: public QObject
{
    Q_OBJECT
public:
    SomeClass(QObject *parent = 0);
    void method1();
    void method2();
    ...
};
Run Code Online (Sandbox Code Playgroud)

在同一个头中的另一个类中,我创建了该类的实例,然后我尝试从'SomeClass'获取所有方法并将其存储在QMap中:

this->someclass = new SomeClass(); // in constructor.
Run Code Online (Sandbox Code Playgroud)

...

cout<<"init some class methods"<<endl;
    const QMetaObject *metaobj = dynamic_cast<QObject*>(this->someclass)->metaObject();
    cout<<"offset "<<metaobj->methodOffset()<<endl;
    for(int i = metaobj->methodOffset();i < metaobj->methodCount();i++){
        QMetaMethod metamethod = metaobj->method(i);
        //if(metamethod.methodType() == QMetaMethod::Method){
            QString methodname = QString(metamethod.signature());
            methodname = methodname.replace(QRegExp("\\(.*\\)"),"");
            controlmethods.insert(methodname,metamethod);
            cout<<"added method: "<<metamethod.signature()<<" as "<<methodname.toAscii().data()<<endl;
        //}
    }
Run Code Online (Sandbox Code Playgroud)

但这并没有向我展示任何添加的方法,因为方法偏移量等于方法计数,为什么可以呢?我没理由,谢谢你的帮助.

c++ qt metaobject

4
推荐指数
1
解决办法
3434
查看次数

const char*Qt中的错误行为

我有一个const char*从类中返回两个函数的问题,由于某种原因,第一个值是第二个值的副本或某些值是错误的,但返回的两个值来自不同的指针,在这种情况下是两个QMap,以下是这两个函数的代码:

const char* SomeClass::getSignal(QString signalName)
{
    QString signalsignature = this->signals.value(signalName);
    signalsignature.prepend(QString::number(QSIGNAL_CODE));
    QByteArray ba = signalsignature.toLatin1(); // i try toUTF8 and to Local8Bit
    const char* signalformated = ba.constData();
    return signalformated;
}

const char* SomeClass::getSlot(QString slotName)
{
    QString slotsignature = this->slots.value(slotName);
    slotsignature.prepend(QString::number(QSLOT_CODE));
    QByteArray ba = slotsignature.toLatin1();
    const char* slotformated = ba.constData();
    return slotformated;
}
Run Code Online (Sandbox Code Playgroud)

this->slotthis->signalsQMap<QString, QString>该保存槽和信号的签名(somesignal(int)someslot(bool)连键somesignal,someslot分别地).

我使用的类是通过QLibrary使用接口从DLL加载的,所有使用其他函数都可以正常工作,但是使用这样的函数:

const char* signal = …
Run Code Online (Sandbox Code Playgroud)

c++ qstring qt pointers qmap

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

如何将 QList&lt;QObject *&gt; 转换为 QList&lt;ADerivedQObjectClass*&gt;

我无法找到一个方法来投下QListQObjects另一个QList与其他类模板。我有一个函数可以创建 的实例QObjects然后返回一个QList. 所以我的问题是,我可以将它转换QList为另一个QList不同的模板类指针吗?

我的代码:

QList<QObject *> DbManager::listVO(QString voname)
{
    DbManager::VOPropertiesJoin(DbManager::VOKeys(obj),VOJOIN_BOTH,"=");
    QList<QObject *> vos;

    QString voquery = "select * from %1";
    voquery = voquery.arg(voname);
    QSqlQueryModel *volist = DbManager::makeSelect(voquery);

    for(int i = 0;i < volist->rowCount();i++){
        QSqlRecord record =volist->record(i);
        QObject *voinstance = DbManager::instantiateVO(voname,record.value(0),record.value(1),record.value(2),record.value(3),record.value(4),record.value(5),record.value(6),record.value(7));
        vos << voinstance;
    }
    return vos;
}
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

QList<AnyClass*> list = DbManager::listVO("AnyClass");
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助。

c++ qt casting

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

截图C++ directx获取黑色图像

我正在尝试使用directx进行屏幕截图.我尝试了几页的代码,解释了如何但总是得到黑屏幕.如果有人可以帮助我,我将不胜感激.

我的代码是:

int _tmain(int argc, _TCHAR* argv[])
{
    IDirect3DDevice9* g_pd3dDevice;
    //SaveScreenShot("test.bmp",D3DXIFF_BMP);   
    IDirect3DSurface9* pSurface=NULL;
    //IDirect3DSurface9* pSource=NULL;
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory(&d3dpp, sizeof(d3dpp));
    d3dpp.Windowed = FALSE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_A8R8G8B8;
    d3dpp.BackBufferCount = 1;
    d3dpp.BackBufferWidth = 1280;
    d3dpp.BackBufferHeight = 1024;
    d3dpp.hDeviceWindow = GetDesktopWindow();
    d3dpp.FullScreen_RefreshRateInHz=0;
    d3dpp.MultiSampleQuality=0;
    IDirect3D9* direct=Direct3DCreate9(D3D9b_SDK_VERSION);
    direct->CreateDevice(D3DADAPTER_DEFAULT,
                         D3DDEVTYPE_HAL,
                         GetDesktopWindow(),
                         D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                         &d3dpp,&g_pd3dDevice);


    //g_pd3dDevice->GetRenderTarget(0,&pSource);
    g_pd3dDevice->CreateOffscreenPlainSurface(1280, 1024,
        D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &pSurface, NULL);
    g_pd3dDevice->GetFrontBufferData(0, pSurface);
    /*g_pd3dDevice->GetRenderTargetData(pSource,pSurface);
    g_pd3dDevice->GetRenderTargetData(pSource,pSurface);*/
    D3DXSaveSurfaceToFile("Desktop.jpg",D3DXIFF_JPG,pSurface,NULL,NULL);
    pSurface->Release();
    //pSource->Release();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ directx screenshot direct3d9 visual-c++

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

JHipster,生成代码的定制

我是 JHipster 的新手,我正在尝试解决这个问题,当我创建一个新实体 JHipster 生成多个文件、角度、html 和 java 类时,现在如果我想要所有这些生成的代码的通用代码,我每次都必须编辑我使用 Yeoman 生成器?我想要的是:

  • 自定义索引模板和页面可以安全地编辑它们吗?
  • 使用 Angular 自定义实体表、实体表单,也许可以扩展 yeoman 生成器
  • 自定义生成java类,也许我认为使用AOP

所以我每次都需要编辑每个生成的代码吗?这是一个很好的做法还是我想要的?为了澄清更多,我想使用像Minovate这样的自定义 Bootstrap/Angular Dashboard 模板,我在文档中看到了如何自定义 Bootstrap,但没有了解我所要求的内容,谢谢。

jhipster

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