小编Jam*_*ron的帖子

裁剪图像会降低质量,边框看起来很糟糕

使用一些数学,我创建了下面的java函数,输入一个Bitmap,并让它裁剪出一个居中的正方形,在该正方形的圆周上再次裁剪出一个黑色边框.广场的其余部分应该是透明的.此外,通过信使发送图像时,两侧的透明距离不会损坏预览.

我的功能代码如下:

 public static Bitmap edit_image(Bitmap src,boolean makeborder) {
        int width = src.getWidth();
        int height = src.getHeight();
        int A, R, G, B;
        int pixel;

        int middlex = width/2;
        int middley = height/2;

        int seitenlaenge,startx,starty;
        if(width>height) 
        {
            seitenlaenge=height;
            starty=0;

            startx = middlex - (seitenlaenge/2);
        }
        else 
        {
            seitenlaenge=width; 
            startx=0;

            starty = middley - (seitenlaenge/2);
        }

        int kreisradius = seitenlaenge/2;
        int mittx = startx + kreisradius;
        int mitty = starty + kreisradius;
        int border=2;
        int seitenabstand=55;

        Bitmap bmOut = Bitmap.createBitmap(seitenlaenge+seitenabstand, seitenlaenge+seitenabstand, Bitmap.Config.ARGB_8888); …
Run Code Online (Sandbox Code Playgroud)

java android

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

MPAndroidChart - 从v2开始删除顶部边框/轴

我将MPAndroidChart从v1.7升级到v2并且不得不改变一些事情.其中一个新事物是,我现在似乎有一个最大值的顶部边框.

顶部边框是我想要删除的

我的代码试图隐藏所有边框是这样的:

    LineChart graph = (LineChart) connectionView.findViewById(R.id.graph);
    graph.setDrawGridBackground(false);
    graph.setDrawBorders(false);
    graph.setDescription("");

    YAxis yr = graph.getAxisRight();
    yr.setEnabled(false);
    yr.setDrawAxisLine(false);

    YAxis yl = graph.getAxisLeft();
    yl.setValueFormatter(formatierer);
    yl.setShowOnlyMinMax(true);
    yl.setDrawAxisLine(false);

    XAxis xl = graph.getXAxis();
    xl.setPosition(XAxis.XAxisPosition.BOTTOM);
    xl.setDrawGridLines(false);
    xl.setDrawAxisLine(false);

    yl.setAxisMaxValue((float) graphpoint_max);
Run Code Online (Sandbox Code Playgroud)

仍然 - 我有一条线显示最大值.我想在YAxis上有值,但没有水平轴线/边框.我无法找到任何隐藏它的命令.

android mpandroidchart

5
推荐指数
2
解决办法
4285
查看次数

Websocket 等待消息超时

我想通过 GO 创建一个 Websocket 连接。此连接遵循明确定义的模式:客户端应在创建连接后立即“验证”(输入数据)自己。如果客户端不这样做,连接将在短时间内关闭。

我当前的代码包含此初始超时 (initTimeout) 和所有连接的最大超时。虽然可以轻松检查这些计时器,但我不确定如何将计时器与等待阻止执行的消息结合起来。

ws, err := upgrader.Upgrade(w, r, nil)
initTimeout := time.NewTicker(time.Duration(30) * time.Second)
maxTimeout := time.NewTicker(time.Duration(45) * time.Minute)

for {
    select {
        case <- initTimeout.C:
            ws.WriteMessage(websocket.TextMessage, []byte("No input received"))
            ws.Close()
        case <- maxTimeout.C:
            ws.WriteMessage(websocket.TextMessage, []byte("Maximum timeout"))
            ws.Close()
        default:
            mt, message, err := c.ReadMessage()
            // will this block the timers?
    }
}
Run Code Online (Sandbox Code Playgroud)

go

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

标签 统计

android ×2

go ×1

java ×1

mpandroidchart ×1