小编Mic*_*son的帖子

转换并显示字节数组中的图像

我正在制作一个程序,它从服务器获取有关字节数组中图像的数据.我正在将这些数据转换为24位BMP格式(无论是jpeg,png,bmp还是8-24-32bpp).首先,我将它保存到我的HD,然后我将它加载到JLabel的Icon中.虽然在某些情况下我得到以下异常,但效果很好:

java.io.EOFException at
javax.imageio.stream.ImageInputStreamImpl.readFully(ImageInputStreamImpl.java:353) at
com.sun.imageio.plugins.bmp.BMPImageReader.read24Bit(BMPImageReader.java:1188) at
com.sun.imageio.plugins.bmp.BMPImageReader.read(BMPImageReader.java:843) at
javax.imageio.ImageIO.read(ImageIO.java:1448) at 
javax.imageio.ImageIO.read(ImageIO.java:1308)
Run Code Online (Sandbox Code Playgroud)

这条线(第二条)

File imgFile = new File("d:/image.bmp");
BufferedImage image = ImageIO.read(imgFile);
Run Code Online (Sandbox Code Playgroud)

在这些情况下:

  • 图像没有加载到JLabel中,但它可以在我的HD上找到
  • 转换不合适,因为某些事情"滑倒"
  • 图片就像在word文档中使用斜体

首先,我认为也许bpp是问题,然后我认为可能图片太大,但我有案例它的工作和案例它不适用于这两个建议.我有点卡在这里,并且很乐意提出想法.

java swing image javax.imageio

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

实体框架6导航集合为空而不是空

我正在尝试使用Entity Framework 6编写关系数据库应用程序.我有类似于以下类的类:

public class Subject
{
    public int ID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Student> Students { get; set; }
}

public class Student
{
    public int ID { get; set; }
    public int SubjectID { get; set; }
    public string Name { get; set; }
    public virtual Subject Subject { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

(好吧,这是一个不好的例子,因为实际上你希望每个学生都在一个以上的学科,但现在让我们忽略它,因为这是我能想到的最好的例子.)

问题在于,只要有一个没有学生的主题,而不是subjectInstance.Students返回一个空的集合,它会返回null.这意味着我不能打电话subjectInstance.Students.Add(studentInstance)来添加第一个学生.相反,我必须contextInstance.Students.Add(studentInstance)在手动设置SubjectID字段后通过调用单独添加学生studentInstance.一旦有一个或多个学生已经与该主题相关联,subjectInstance.Students则不再为空,我可以按预期方式添加更多学生. …

c# entity-framework-6

5
推荐指数
1
解决办法
3180
查看次数

Android DiffUtil.ItemCallback areContentsTheSame具有不同的ID

我正在使用RecyclerView来显示从数据库中检索为Java对象的项目的列表。对象中的字段之一是数据库中项目的ID,因此可以对其执行进一步的操作。我的areContentsTheSame实现比较对象中的各个字段,以确定项目的内容是否已更改。

问题在于,有时刷新数据源时,项的ID会更改,而可见内容不会更改(即,从数据库中删除相同的项,然后再次添加它们,从而在过程中更改其ID)。在这种情况下,我当前的areContentsTheSame实现返回true。但是,当areContentsTheSame返回true时,RecyclerView视图不重新绑定(onBindViewHolder不叫的物品,其areContentsTheSame回报率true),所以看法仍然坚持其中包含了旧标识的旧对象的引用,从而导致错误试图做的东西时项(例如用户点击以显示它)。

我尝试在ID更改时areContentsTheSame返回false,从而迫使视图重新绑定,即使没有发生可见的更改,但这也会导致显示“项目更改”动画,即使该项目没有明显更改也是如此。我要的是一个方法要么力的意见,重新绑定,而不areContentsTheSame返回false或者换一种方式areContentsTheSame返回true,并触发重新结合而不被显示的动画。

database android pojo android-recyclerview

5
推荐指数
1
解决办法
2886
查看次数

Android:传递Activity类时的"表达式预期"

我对Android编程和Java一般都是新手,我无法解决导致此错误的原因; 据我所知,这应该有效.在下面显示的代码中(靠近第一个代码段的末尾),该行在Android Studio 1.1.0中的文本上"ColourOutput.do_output((Activity) com.(name-removed).(app-name-removed).ColourActivity);"给出了错误."Expression expected""com.(name-removed).(app-name-removed).ColourActivity"

(这是在课堂内"public class ColourActivity extends Activity".)

        private Camera.PreviewCallback preview_callback = new Camera.PreviewCallback() {
        @Override
        public void onPreviewFrame(byte[] data, Camera camera) {
            int width = mCamera.getParameters().getPreviewSize().width;
            int height = mCamera.getParameters().getPreviewSize().height;
            int raw_pixels[];
            int pixels[];

            raw_pixels = new int[width * height];
            pixels = new int[get_sample_width() * get_sample_height()];
            convert_yuv(raw_pixels, data, width, height);
            crop_pixels(raw_pixels, pixels, width, height, (width - get_sample_width()) / 2, (height - get_sample_height()) / 2, get_sample_width(), get_sample_height());

            if (PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("use_mean", true) == …
Run Code Online (Sandbox Code Playgroud)

java android class android-activity

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