我实际尝试实现的目标: 我想用渐变垂直颜色绘制文本。我找到了这个解决方案,但它不太适合我,因为在我的例子中它的渐变字体周围有黑色方块 - 不知道如何摆脱它,所以我开始了简单的(不相关的部分)问题更好地理解 opengl 和 libgdx 中混合和帧缓冲的物理原理
我试图理解的,与我的目标无关: 我有一个纹理,上面有一个白色方块,我把它画在红色背景上。我试图在白色方块的顶部绘制一个绿色方块,绿色方块部分覆盖白色方块,部分覆盖红色背景(见下图)。
我的意图是:绿色方块后面的白色区域应该涂成绿色,但所有红色背景不应该受到影响并保持不变(红色原样)。
我怎样才能做到这一点?
package com.mygdx.game;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
public class Game extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
private int height;
private int width;
private ShapeRenderer shapeRenderer;
@Override
public void create() {
batch = new SpriteBatch();
img = new Texture("white.png");
width = Gdx.graphics.getWidth();
height = Gdx.graphics.getHeight();
shapeRenderer = new ShapeRenderer();
shapeRenderer.setAutoShapeType(true);
}
@Override
public void render() {
Gdx.gl.glClearColor(1, …Run Code Online (Sandbox Code Playgroud) 我有一堆 pdf 文件(来自不同来源),我想从中提取文本(不幸的是无法附加文件)。
当前解析结果:
到目前为止,我从 PDFBox 中看到的所有警告组合在一起:
Aug 06, 2020 3:10:49 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+51 (51) in font AUDQZE+OpenSans-Identity-H
Aug 06, 2020 3:10:49 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+5 (5) in font HCUDUN+DroidSerif-Identity-H
Aug 06, 2020 3:10:49 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+5 (5) in font AUDQZE+OpenSans-Identity-H
Aug 06, 2020 3:10:49 PM org.apache.pdfbox.pdmodel.font.PDType0Font toUnicode
WARNING: No Unicode mapping for CID+55 …Run Code Online (Sandbox Code Playgroud) 视图模型中字段的推荐模式似乎是:
val selected = MutableLiveData<Item>()
fun select(item: Item) {
selected.value = item
}
Run Code Online (Sandbox Code Playgroud)
(顺便说一句,该selected字段不是私有的,这是正确的吗?)
但是如果我不需要订阅 ViewModel 字段中的更改怎么办?我只需要被动地将这个值拉到另一个片段中。
我的项目详细信息:
视图模型:
private var amount = 0
fun setAmount(value: Int) { amount = value}
fun getAmount() = amount
Run Code Online (Sandbox Code Playgroud)
片段1:
bnd.button10.setOnClickListener { viewModel.setAmount(10) }
Run Code Online (Sandbox Code Playgroud)
片段2:
if(viewModel.getAmount() < 20) { bnd.textView.text = "less than 20" }
Run Code Online (Sandbox Code Playgroud)
这是一种有效的方法吗?或者有更好的吗?或者我应该只使用 LiveData 或 Flow?
也许我应该使用SavedStateHandle?它可以注入到 ViewModel 中吗?
android ×1
apache-tika ×1
blending ×1
libgdx ×1
opengl ×1
parsing ×1
pdf-parsing ×1
pdfbox ×1
unicode ×1
viewmodel ×1