小编Joe*_*ara的帖子

Cocos2d-x - 绘制三次贝塞尔曲线时出错

我正在尝试绘制具有一定厚度的三次贝塞尔曲线路径,但曲线看起来像一系列断开的线段(在我的情况下为3).这是一个截图(蓝色圆圈是曲线的控制点).

立方贝塞尔曲线

我注意到在cocos2d-x测试中的'draw primitives'中也会出现相同的效果.无论如何,我很确定应该有一个解决方法,但我自己找不到它.此外,该行受到别名效果的影响,我不知道如何应用alpha阴影来避免它.

这是我使用的代码:

glLineWidth(24.0f);

Vec2 cp1 = Vec2(200, 200);
Vec2 cp2 = Vec2(1300, 150);
Vec2 cp3 = Vec2(170, 1200);
Vec2 cp4 = Vec2(1400, 1000);

//Draw control points
DrawPrimitives::setDrawColor4B(0, 0, 255, 255);
DrawPrimitives::drawSolidCircle(cp1, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp2, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp3, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp4, 50, 360, 120, 1, 1);

//Draw cubic red bezier curve
DrawPrimitives::setDrawColor4B(255, 0, 0, 255);
DrawPrimitives::drawCubicBezier(cp1, cp2, cp3, cp4, 50);
Run Code Online (Sandbox Code Playgroud)

bezier drawing cocos2d-x

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

旋转大尺寸位图的最快方法

我正在处理大尺寸图像,当我尝试旋转它们(applying matrix on the bitmap)时会发生很多秒.我已经看到android系统库可以以非常快的方式完成这项任务.这怎么可能?

我想在asyncTask上执行旋转,只在主线程上应用ImageView旋转(这不需要很长时间),但如果在asyncTask结束之前应用程序被杀死,则app会处于不一致状态.

这是我的位图旋转代码,需要长时间执行大位图:

Matrix mat = new Matrix();
mat.setRotate(90);
bMap = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true);
Run Code Online (Sandbox Code Playgroud)

android bitmap

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

Android - 如何将按钮的形状drwable和文本颜色组合为不同的状态?

我有一些麻烦管理按钮的Android状态列表.我为不同的状态指定了一些Shape drwable项,但我还需要根据当前状态更改textColor.

我的实际状态列表xml是:

<?xml version="1.0" encoding="utf-8"?>    
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true">
        <shape>
            <gradient
                android:startColor="@color/white"
                android:endColor="@color/light_gray"
                android:angle="270" />
            <stroke
                android:width="3dp"
                android:color="@color/classic_red1" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>

    <item>
        <shape>
            <gradient
                android:startColor="@color/classic_red1"
                android:endColor="@color/classic_red2"
                android:angle="270" />
            <stroke
                android:width="2dp"
                android:color="@color/white" />
            <corners
                android:radius="3dp" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

我还需要根据这两种状态更改textColor.提前致谢.

android shape textcolor drawable

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

JavaCv:如何将IplImage转换为BufferedImage

我必须将IplImage转换为BufferedImage ...应该是一个简单的任务对我来说变得非常复杂.我在Mac OSX上使用JavaCv 1.0(它与OpenCV 3.0链接).

在旧的JavaCV API中有IplImage方法#getBufferedImage,但我在新的1.0 API中找不到它.所以我试图将IplImage转换为字节数组并将字节数组转换为BufferedImage.我发现这个解决方案执行这样的转换:

IplImage inputImg = cvLoadImage(imgName); //imgName is a JPEG absolute path
byte[] imageData = IplImageToByteArray( inputImg); //defined below
ByteArrayInputStream bais = new ByteArrayInputStream(imageData);
BufferedImage inputImage = ImageIO.read(bais); //Always return null
Run Code Online (Sandbox Code Playgroud)

其中IplImageToByteArray可以通过以下方式之一定义:

public static byte[] IplImageToByteArray(IplImage src) {
    ByteBuffer byteBuffer = src.getByteBuffer();
    byte[] barray = new byte[byteBuffer.remaining()];
    byteBuffer.get(barray);
    return barray;
}

public static byte[] IplImageToByteArray2(IplImage src) {
    byte[] barray = new byte[src.imageSize()];
    src.getByteBuffer().get(barray);
    return barray;
}
Run Code Online (Sandbox Code Playgroud)

返回的字节数组在两种情况下都相同,但ImageIO.read返回null值.我不知道自己错了什么.

opencv javacv

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

标签 统计

android ×2

bezier ×1

bitmap ×1

cocos2d-x ×1

drawable ×1

drawing ×1

javacv ×1

opencv ×1

shape ×1

textcolor ×1