问题列表 - 第24608页

Java 中的 BufferedImage 和 ColorModel

我在java中使用图像处理库来操作图像。我做的第一步是读取图像并创建java.awt.Image.BufferedImage对象。我是这样做的,

BufferedImage sourceImage = ImageIO.read( new File( filePath ) );
Run Code Online (Sandbox Code Playgroud)

上面的代码创建了一个BufferedImage对象DirectColorModel

rmask=ff0000
gmask=ff00
bmask=ff
amask=0。

这就是我在 macbook 上运行上述代码时发生的情况。

但是当我在 linux 机器(托管服务器)上运行相同的代码时,这会创建一个BufferedImage对象ColorModel

pixelBits = 24
numComponents = 3
颜色空间 = java.awt.color.ICC_ColorSpace@c39a20
透明度 = 1 有 alpha = false
isAlphaPre = false。

我在这两种情况下都使用了相同的 jpg 图像。我不知道为什么ColorModel在 mac 和 linux 上运行时相同的图像是不同的。在ColorModel用于MAC有4个部件和用于Linux的ColorModel的具有3个分量。

因此出现了一个问题,我使用的图像处理库总是假设传递的图像的ColorModel中总是有4个组件,并且在linux box上运行时它会抛出一个数组越界异常。但是在 macbook 上,它运行良好。

添加更多信息,读取图像后,我打印出来 image.getType()

  • 在 mac -> 它返回TYPE_INT_RGB(值1
  • 在 linux -> 它返回TYPE_3BYTE_BGR …

java image-manipulation image image-processing

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

如何从stdin构建tar?

如何管道信息以tar指定文件的名称?

tar

62
推荐指数
3
解决办法
8万
查看次数

如何使写操作幂等?

我正在阅读一篇关于Twitter最近发布的Gizzard分片框架的文章(http://engineering.twitter.com/2010/04/introducing-gizzard-framework-for.html).它提到所有写操作必须是幂等的,以确保高可靠性.

根据维基百科的说法,"幂等操作是可以多次应用而不改变结果的操作." 但是,恕我直言,在Gizzard案例中,幂等写操作应该是顺序无关紧要的操作.

现在,我的问题是:如何使写入操作具有幂等性?

我唯一可以想象的是每个写入都附加一个版本号.例如,在博客系统中,每个博客必须具有$ blog_id$ content.在应用程序级别,我们总是编写像这样写的博客内容($ blog_id,$ content,$ version).在$版本被确定为在应用程序级别唯一的.所以,如果一个应用程序首次尝试设置一个博客在"Hello world"和第二想的它是"再见",然后是幂等.我们有两个写操作:

write($blog_id, "Hello world", 1);
write($blog_id, "Goodbye", 2);
Run Code Online (Sandbox Code Playgroud)

这两个操作应该改变DB中的两个不同记录.因此,无论执行这两个操作的次数和次序,结果都是相同的.

这只是我的理解.如果我错了,请纠正我.

scalability idempotent

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

通过xcopy保存多个文件

我想通过xcopy一次复制多个文件.可能吗.我的意思是:
xcopy file1 + file2 + file3 destinationfolder
任何帮助表示赞赏:)

command-line xcopy

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

如何初始化unsigned long long类型?

我正在尝试初始化一个unsigned long long int类型.但编译器抛出错误

"error: integer constant is too large for "long" type ".

初始化如下所示:

unsigned long long temp = 1298307964911120440;
Run Code Online (Sandbox Code Playgroud)

任何人都可以让我知道问题是什么,并提出相同的解决方案.

c c++ types

12
推荐指数
3
解决办法
2万
查看次数

为什么自动实现的属性必须同时定义get和set访问器

当我们定义一个属性时

    public string Name {get; set;}
Run Code Online (Sandbox Code Playgroud)

dot net可以使我们的属性代码.但是当我们使用时

    public string Name {get;}
    public string Name {set;}
Run Code Online (Sandbox Code Playgroud)

我们面对

'Hajloo.SomeThing.PropertyName.set' must declare a body because it is not marked abstract or extern. Automatically implemented properties must define both get and set accessors.
Run Code Online (Sandbox Code Playgroud)

实际上为什么编译器无法确定属性并自动生成代码?有什么问题?

c# get properties accessor set

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

如何使用python将[1,2,3,4]更改为'1234'

如何将ints 列表转换为单个字符串,例如:

[1, 2, 3, 4]变得'1234'
[10, 11, 12, 13]变得'10111213'

......等......

python string list

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

这是django中'max_length'的最大尺寸

这是我的模特:

class Position(models.Model):
    map = models.ForeignKey(Map,primary_key=True)
    #members=models.CharField(max_length=200)
    LatLng = models.CharField(max_length=40000)
    infowindow = models.CharField(max_length=40000)
Run Code Online (Sandbox Code Playgroud)

但它无法运行..

谢谢

django django-models

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

为什么人们如此害怕使用clone()(在集合和JDK类上)?

有很多次我认为使用clone()并不是一种糟糕的做法.是的,我知道这些论点.布洛赫说这很糟糕.他的确做到了,但他说实施clone()很糟糕.另一方面,使用clone,特别是如果它由可信库(如JDK)正确实现,则可以.

就在昨天,我讨论了我的一个答案,仅仅暗示使用clone()for ArrayList是可以的(并且由于这个原因没有投票,我猜).

如果我们看@authorArrayList,我们可以看到一个熟悉的名字-乔希布洛赫.因此,clone()ArrayList(和其他收藏品)是完全正常的(看看他们的实现).

同样的Calendar,也许是大多数java.langjava.util类.

那么,请告诉我为什么不使用 clone() JDK类?

java

42
推荐指数
4
解决办法
7316
查看次数

TextRenderer.DrawText在XP vs Vista上呈现不同的Arial

我有一个ac#应用程序,它可以进行文本渲染,与简单的所见即所得文本编辑器相同.

我正在使用TextRenderer.DrawText将文本呈现到屏幕上,使用GetTextExtentPoint32来测量文本,这样我就可以在同一行上定位不同的字体样式/大小.

在Vista这一切都很好.然而,在XP中,Arial渲染方式不同,某些字符(如"o"和"b")占用的宽度比Vista中的宽.GetTextExtentPoint32似乎是在Vista中测量字符串,但宽度较小.最终结果是,每隔一段时间就会出现一段文本与之前的文本重叠,因为前面的文本被测量为小于它在屏幕上的实际值.

此外,我的文本渲染代码模仿即正确的文本渲染(仅用于简单格式和英文),即文本渲染似乎在vista和xp之间保持一致 - 这就是我注意到不同字符大小的变化.

有什么想法发生了什么?

简而言之,TextRenderer.DrawText和GetTextExtentPoint32在xp中与Arial不匹配.DrawText似乎绘制了比Vista中更大和/或更小的某些字符,但GetTextExtentPoint32似乎是在Vista中测量文本(它似乎与文本渲染相匹配,即在xp和vista上).希望有道理.

注意:遗憾的是TextRenderer.MeasureString不够快或不够准确,无法满足我的要求.我尝试使用它,不得不把它撕掉.

c# text windows-xp windows-vista textrenderer

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