标签: bitmap

用纯Javascript创建画布/位图(无html)

我正在使用socket.io为Javascript开发iPhone游戏服务器。服务器的目的是使用玩家路径绘制屏幕外的位图,以检查该路径是否已绘制。简而言之,所有图形只会显示在客户端屏幕上。这是我发现的用于创建画布,然后在其中查找像素颜色的代码。但是我没有html代码,因为它仅使用Javascript制作。那么,这些代码是否可以在仅Javascript程序中工作?如果没有,我该怎么做但结果相同?

编辑:我正在使用socket.io与node.js

var canvas = document.createElement("canvas");
var context = canvas.getContext("2d");
// Make sure to set the size, otherwise its zero
canvas.width = 100;
canvas.height = 100;

// Draw to the offscreen canvas
context.fillStyle = "#0000ff";
context.fillRect(0,0,50,50);
context.fillStyle = "#ff9900";
context.arc(50,50,25,50,0,Math.PI*2);
context.fill();
//  document.body.appendChild(canvas)
// To preview the canvas
var imgData = context.getImageData(0, 0, canvas.height, canvas.width);
var offset =  90*canvas.width+50*4

  console.log(imgData.data[offset]);
  console.log(imgData.data[offset+1]);
  console.log(imgData.data[offset+2]);
  console.log(imgData.data[offset+3]); 
Run Code Online (Sandbox Code Playgroud)

javascript canvas bitmap node.js socket.io

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

位图太大而无法上传到纹理中(5312x2988,max = 4096x4096) - 如何解决此问题?

这是我开始的教程.

http://www.androidhive.info/2014/12/android-uploading-camera-image-video-to-server-with-progress-bar/

基本上,我上传了一个图像,我想在自定义图像查看器中显示它.

我已经调整了我的php.ini,接受大量上传.

memory_limit = 128M
post_max_size = 1G 
file_uploads = On
upload_max_filesize = 1G
max_file_uploads = 20 
Run Code Online (Sandbox Code Playgroud)

这是我从logcat获得的错误

03-15 01:06:36.843:W/OpenGLRenderer(14403):位图​​太大而无法上传到纹理中(5312x2988,max = 4096x4096)

好的,问题是,当我尝试显示6M,8M,9M或12MEGAPIXEL的图片时,一切都很好.当我尝试显示16Megapixels照片时,它不会显示.

好的,但教程中的图像查看器显示图像.但我正在使用不同的类来显示图像.图像查看器似乎显示了您的SdCard图像.FeedImageView允许您显示保存在服务器上的图片.

public class FeedImageView extends ImageView {

    public interface ResponseObserver {
        public void onError();

        public void onSuccess();
    }

    private ResponseObserver mObserver;

    public void setResponseObserver(ResponseObserver observer) {
        mObserver = observer;
    }

    /**
     * The URL of the network image to load
     */
    private String mUrl;

    /**
     * Resource ID of the image to be used as …
Run Code Online (Sandbox Code Playgroud)

android bitmap

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

如何从Android中的资产加载图像列表?

private void changePicture(int stageIndex){

    try{

        iv=(ImageView) findViewById(R.id.imageView2);
        Picture picture=new Picture();
        String v =picture.getPicFileName();
        InputStream ims = getAssets().open(v);
        Drawable d = Drawable.createFromStream(ims, null);
        iv.setImageDrawable(d);
        }catch(IOException ex){
           return;
        }       
}
Run Code Online (Sandbox Code Playgroud)

我想从/asset文件夹中加载图像列表,所以我编写了此函数,但是它不起作用。有人能帮我吗?

android bitmap imageview android-assets android-drawable

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

如何释放从GdipCreateBitmapFromHBITMAP创建的对象?

我正在编写一个C应用程序,并在我的代码中调用了构造函数GdipCreateBitmapFromHBITMAP

我知道不应从C调用构造函数,但我在这里使用了“ hack”“ 如何获取屏幕截图并将其保存为Windows上的JPEG?

我不确定如何释放在调用期间分配的资源GdipCreateBitmapFromHBITMAP

我尝试在文档中寻求帮助,但一无所获。

ULONG *pBitmap = NULL;
lGdipCreateBitmapFromHBITMAP = (pGdipCreateBitmapFromHBITMAP)GetProcAddress(hModuleThread, "GdipCreateBitmapFromHBITMAP");
lGdipCreateBitmapFromHBITMAP(hBmp, NULL, &pBitmap);
Run Code Online (Sandbox Code Playgroud)

我该如何释放pBitmap

非常感谢。

c winapi gdi+ bitmap

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

将位图设置为MP3的封面

我一直试图将位图设置为MP3的封面艺术,但我似乎无法让它工作.它没有抛出任何错误,但是当我播放MP3时,位图没有显示.

这就是我目前拥有的:

TagLib.File f = TagLib.File.Create("song.mp3");

Image currentImage = getAlbumArt(result.passedAlbumID);
Picture pic = new Picture();
pic.Type = PictureType.FrontCover;
pic.MimeType = System.Net.Mime.MediaTypeNames.Image.Jpeg;
pic.Description = "Cover";
MemoryStream ms = new MemoryStream();
currentImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
ms.Position = 0;
pic.Data = ByteVector.FromStream(ms);
f.Tag.Pictures = new IPicture[1] { pic };
pictureBox1.Image = currentImage; //testing the image is correct

f.Save();
ms.Close();
Run Code Online (Sandbox Code Playgroud)

c# bitmap taglib-sharp

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

winapi:从HDC到HBITMAP

我想做一些我认为相当简单的事情,但由于我是winapi的新手,我发现了很多问题.基本上我有一个HDC(我从一个加载的位图BitBlitting),我正在绘制一个矩形.然后我想将HDC BitBlt放到一个新的HBITMAP对象上,但唉现在无济于事.

这是我的代码,我一直试图开始工作几个小时

BITMAPINFO info;
Bitmap *tempbmp = Bitmap::FromFile(L"C:\\Users\\abelajc\\Pictures\\BackgroundImage.png", false);
HBITMAP loadedbackground;
tempbmp->GetHBITMAP(NULL, &loadedbackground);

HBRUSH hRed = CreateSolidBrush(RGB(255, 0, 0));

HDC pDC = GetDC(0);
HDC TmpDC = CreateCompatibleDC(pDC); //main DC on which we will paint on

HDC dcBmp = CreateCompatibleDC(TmpDC); //DC for the loadedbackground HBitmap
HGDIOBJ TmpObj2 = SelectObject(dcBmp , tempbmp); //Selecting Bitmap in DC
BitBlt(TmpDC, 0, 0, 512, 512, dcBmp, 0, 0, SRCCOPY);
SelectObject(dcBmp, TmpObj2); //Deselecting Bitmap from DC
DeleteDC(dcBmp);

RECT rectangle;
SetRect(&rectangle, 5, 5, 20, 20);
FillRect(TmpDC, &rectangle, …
Run Code Online (Sandbox Code Playgroud)

c++ winapi gdi bitmap

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

Android中心BitView在ImageView矩阵中

我正在开发一个应用程序,用户可以在屏幕上移动他的图像,然后保存它.问题是在活动开始时将Bitmap定位在ImageView中.
这是XML:

<RelativeLayout
        android:id="@+id/image_content_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
      <ImageView
           android:id="@+id/top_image"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_centerInParent="true"
           android:scaleType="matrix"
           android:gravity="center|center_vertical"
           android:layout_gravity="center|center_vertical"/>
 </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我正在使用onTouch移动ImageView(好吧,不是ImageView,但它的矩阵),它运行良好.

@Override
    public boolean onTouch(View v, MotionEvent event)
    {
        ImageView view = (ImageView) v;
        switch (event.getAction() & MotionEvent.ACTION_MASK)
        {

            case MotionEvent.ACTION_DOWN:
                savedMatrix.set(matrix);
                mode = DRAG;
                start.set((int) event.getX(), (int) event.getY());
                break;
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_POINTER_UP:
                mode = NONE;
                break;
            case MotionEvent.ACTION_MOVE:

                if (mode == DRAG)
                {
                    matrix.set(savedMatrix);
                    matrix.postTranslate(event.getX() - start.x, event.getY() - start.y);
                }
                break;
        }
        view.setImageMatrix(matrix);
        return true;
    }
Run Code Online (Sandbox Code Playgroud)

问题是Bitmap在Activity开始时的位置.它在Top | …

android bitmap matrix imageview

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

CustomView未在ScrollView中显示

这里有新的Android程序员.

我正在尝试在Android上将.png图像显示为位图.我能够显示转换后的图像的唯一方法是使用扩展的自定义类View.但是,我的图像太大,无法完全显示在屏幕上,我希望能够滚动它.但是当我定义一个ScrollView并将CanvasBitmap放入其中时,我得到一个空白屏幕.我没有运气设置布局文件,所以这一切都在Activity类中完成.

这是创建活动的位置:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ScrollView scroll = new ScrollView(this);
    scroll.addView(new CustomView(this));
    setContentView(scroll);
}
Run Code Online (Sandbox Code Playgroud)

这是我的CustomView类:

private class CustomView extends View{

    public CustomView(Context context) {
        super(context);
    }

    @Override
    protected void onDraw(Canvas canvas){
        Bitmap bitmapMap = BitmapFactory.decodeResource(getResources(),R.drawable.resourceimage);
        canvas.drawBitmap(bitmapMap,0,0,null);
        this.setWillNotDraw(false);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我在我的Activity中替换这行代码:setContentView(scroll) 使用这一行:setContentView(new CustomView(this)),我可以看到图像,尽管不是整个图像.那么,有没有办法在布局文件中设置它呢?或者有什么我想念的东西我需要在ScrollView课堂上宣布?

编辑:我不想使用ImageView,因为我想在特定位置更改图像,使用位图似乎是通过x和y坐标实现这一目标的最简单方法.

android bitmap android-layout android-canvas

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

(UWP)绘制图像并再次保存为图像/字节数组

我在过去两天尝试了很多不同的解决方案,但似乎找不到最好的方法.

我想要的是:

1. Show image
2. Enable drawing red lines on image
3. Save image with lines
Run Code Online (Sandbox Code Playgroud)

我已经尝试过Win2D,WriteableBitmapEx,InkCanvas,普通的Canvas和Lumia Imaging SDK,但是在工作解决方案上没有运气.我很有可能做错了,因为所有这些解决方案对我都不起作用.我似乎无法找到任何与UWP合作的好例子.有人知道一个很好的方法吗?

编辑:我正在用C#开发

mobile drawing image bitmap uwp

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

在Windows 10 UAP中将BitmapImage或IRandomAccessStream转换为字节数组

谁能帮我。我不明白如何将BitmapImage或IRandomAccessStream转换为字节数组。我尝试:

foreach (StorageFile file in files)
{
    BitmapImage src = new BitmapImage();

    using (IRandomAccessStream stream = await file.OpenReadAsync())
    {
        await src.SetSourceAsync(stream);

        WriteableBitmap bitMap = new WriteableBitmap(src.PixelWidth, src.PixelHeight);
        await bitMap.SetSourceAsync(stream);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我有WriteableBitmap并尝试以下方法:

private byte[] ImageToByeArray(WriteableBitmap wbm)
{
    using (Stream stream = wbm.PixelBuffer.AsStream())
    using (MemoryStream memoryStream = new MemoryStream())
    {
        stream.CopyTo(memoryStream);
        return memoryStream.ToArray();
    }
}
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用;(

c# bitmap bitmapimage windows-phone-8.1 win-universal-app

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