我要做的是测试像素是否为蓝色.
例如:蓝色在RGB中定义为rgb(0,0,255).典型的颜色深度为8位(256色),16位(约65,000),24位(约1600万)和32位(超过40亿种不同颜色).因此,显然有超过1种蓝色.
如果蓝色与否,如何定义蓝色范围并测试每个像素?关于不同的深度,我需要记住什么?
到目前为止我的代码是:
BufferedImage image = ImageIO.read(file);
// Getting pixel color by position x and y
for (int i = 0; i < image.getWidth(); i++) {
for (int j = 0; j < image.getHeight(); j++) {
int clr = image.getRGB(i, j);
Run Code Online (Sandbox Code Playgroud)
注1:
http://www.workwithcolor.com/cyan-blue-color-hue-range-01.htm
这里的问题是,颜色步骤之间是什么?
一个例子就是很棒.
注2:
我刚刚发现了一个关于我感兴趣的话题的演讲:
在第13页,我们可以看到红色的定义.但是你如何定义其他颜色?
我使用Java时只有4天的年龄,根据我搜索的教程,讲师将大量精力集中在解释如何分配二维数组(例如)上:
Foo[][] fooArray = new Foo[2][3];
Run Code Online (Sandbox Code Playgroud)
...但是我没有找到任何说明如何删除它们的内容。
从内存的fooArray角度来看,该变量将指向堆中的一个内存块,其中有2个元素。每个元素也指向堆中的另一个块,该块具有3个元素。
话虽这么说,我可以只引用第一个元素块,然后垃圾收集器完成这项工作吗?
Foo[1] = null; 和 Foo[2] = null;
还是我必须使每个实例化的Foo元素都为空?
Foo[1][1] = null; Foo[1][2] = null; Foo[1][3] = null; ...
以下是约书亚的Effective Java摘录:
如果在内部同步类,则可以使用各种技术来实现高并发性,例如锁定拆分,锁定条带化和非阻塞并发控制.
以上表明锁定分裂和锁定条带是两种不同的技术,但当我试图找到差异时,我找不到差异.
它们之间是否有区别或它们是一样的?
我想实现一个可视化界面,用于可视化nodes和edges图形以及一些对象,如节点之间在节点之间移动的数据包如下图所示:

我尝试过使用Jung库,但它没有任何类型的功能,可以使用边缘作为移动对象的路径在节点之间移动对象.我已经看到了Graph Stream Library的演示,它显示了一些在节点之间移动的对象,但是当我查看库文档时,我没有找到任何用于移动图形的功能,这个库是否能够满足我的需求?
如果没有,任何人都可以建议一个可以提供这种功能的库.任何建议,将不胜感激.
编辑:进一步努力实施
我已经在JUNG中实现了这样的功能,并且直边它工作正常,我正在使用IterativeProcess类并按setLocation功能移动节点.
这是实施.
但是我想知道是否有更好的方法可以通过其他一些具有内部定义功能的库来执行此操作?
我试图按下按钮执行动画..按钮单击步骤如下..
但我得到一个内存不足的例外..
当动画文件未添加到项目时没有错误.但是,由于动漫的加入存在问题.
我在这里使用3个类文件(home_screen,button_anime和home)
home_screen.java接收按钮点击信息,更改按钮图像并转移到button_anime类,动画文件在button_anime.java中启动,动画播放后,下一个布局从home.java显示
原木猫如下..
E/AndroidRuntime(1255): java.lang.OutOfMemoryError
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587)
E/AndroidRuntime(1255): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:422)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
E/AndroidRuntime(1255): at android.content.res.Resources.loadDrawable(Resources.java:2110)
E/AndroidRuntime(1255): at android.content.res.Resources.getDrawable(Resources.java:700)
E/AndroidRuntime(1255): at android.graphics.drawable.AnimationDrawable.inflate(AnimationDrawable.java:282)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937)
E/AndroidRuntime(1255): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
E/AndroidRuntime(1255): at android.content.res.Resources.loadDrawable(Resources.java:2092)
E/AndroidRuntime(1255): at android.content.res.Resources.getDrawable(Resources.java:700)
E/AndroidRuntime(1255): at android.view.View.setBackgroundResource(View.java:15303)
E/AndroidRuntime(1255): at com.quinoid.thomasinternational.Button_Anime.onCreate(Button_Anime.java:19)
E/AndroidRuntime(1255): at android.app.Activity.performCreate(Activity.java:5231)
E/AndroidRuntime(1255): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
E/AndroidRuntime(1255): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
E/AndroidRuntime(1255): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime(1255): at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime(1255): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime(1255): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(1255): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(1255): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime(1255): at …Run Code Online (Sandbox Code Playgroud) 我是 Spring OAuth 2 的新手。我想知道如何Httpsecurity使用 Spring OAuth 2.0 在资源服务器中动态配置。因为我有存储在数据库中的antMatchers和列表scopes(可能在将来antMatchers并且scopes可以添加)。
对于单身antMatchers,scope我尝试过如下所示,并且按预期工作:
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/adminservice/")
.access("#oauth2.hasScope('Products')");
}
Run Code Online (Sandbox Code Playgroud)
如果有一个antMatchers和scopes存储在数据库中的列表,我应该如何配置它,例如:
**antMatchers** **scopes**
/adminservice/ products
/xxxx/ yyyy
/yyyy/ xxxx
/jkjlk/ uyuuy
/klklk/ hjkskjk
Run Code Online (Sandbox Code Playgroud)
在这里,spring 启动本身想要在资源服务器中动态地从数据库中配置antMatchers相应scope的。
我怎样才能做到这一点?
我想知道如何遍历以下Arraylist.
public class FruitHandler {
private ArrayList<Fruits> fruit;
private ArrayList<Integer> fruitUID= new ArrayList<>();
public static FruitHandler getInstance() {
return instance;
}
public void addFruit(Fruit fruit) {
this.fruitUID.add(fruit.getfruitUID());
this.fruit.add(fruit);
}
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是遍历fruitUID并返回存储在ArrayList<Fruits> fruit其中的水果类的实例与我给定的UID匹配.
例如,我有一个fruitUID = 10,我希望得到存储在ArrayList<Fruits> fruit其中的水果类实例的引用fruitUID = 10.
在本教程之后,我看到在MainActivity.java的末尾有一个我理解的数组,但不知道最后一个+符号是做什么的
String Slecteditem= itemname[+position];
Run Code Online (Sandbox Code Playgroud)
我删除+,我认为它的工作方式相同,但不确定是否有一个我无法看到的目的.
所以我在这个练习中遇到了一些麻烦.我通过在每个线程中同步arraylist来解决其中一个问题,但仍然有问题.arraylist"data"用0到9999之间的数字填充.但是,data.get(i); 似乎每个指数都会返回0,我不能为我的生活找出原因.这是代码:
private static int LIST_TRAVERSE_LIMIT = 10000; // size of problem
private boolean problem_3_failed = false; // set to true if failed
private List<Integer> data = new ArrayList<Integer>(); // data shared between threads, traversed and modified
private int negative_hits = 0; // counter for how many modifications are found during traversal
private void test_parallel_iteration() {
for(int i=0; i<LIST_TRAVERSE_LIMIT; i++) data.add(i);
// Define threads and run them
Thread t1 = new Thread(() -> { // modify the list in just …Run Code Online (Sandbox Code Playgroud) 每个素数都是6k + 1或6k-1的形式.为了检查数字是否为素数,我们可以使用以下算法.我见过基于这些算法编写的程序.
public boolean isPrime(int n)
{
if (n <= 1) return false;
if (n <= 3) return true;
if (n%2 == 0 || n%3 == 0) return false;
for (int i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我们以下列方式编写代码,我不明白会出现什么问题:
public boolean isPrime(int number){
boolean primeFlag = false;
if(number == 0 || number ==1){
return primeFlag;
}
if(number == 2 || number == 3){
primeFlag = true;
}
if((number+1)%6 == 0){ …Run Code Online (Sandbox Code Playgroud)