示例#1
0
ALuint Sound::filenameToBuffer(const string filename)
{
    if (filename.empty())
    {
        error->log(SOUND, CRITICAL, "Not passed a valid filename.\n");
        exit(0);
    }
    FILE* file = fopen(filename.c_str(), "rb");
    if (!file)
    {
        error->log(SOUND, CRITICAL, "Failed to open file: " + filename + ".\n");
        exit(0);
    }

    BasicWAVEHeader header;
    char* data = fileToData(file, &header);
    fclose(file);
    if (!data)
    {
        error->log(SOUND, CRITICAL, "Failed to read file.\n");
        exit(0);
    }
    ALuint buffer = dataToBuffer(data, header);
    free(data);
    if (!buffer)
    {
        error->log(SOUND, CRITICAL, "Failed to create buffer.\n");
        exit(0);
    }
    return buffer;
}
示例#2
0
文件: image.cpp 项目: hicdre/skiaui
static void drawJpeg(SkCanvas* canvas, const SkISize& size) {
    SkAutoDataUnref data(fileToData("/Users/mike/Downloads/skia.google.jpeg"));
    SkImage* image = SkImage::NewEncodedData(data);
    if (image) {
        SkAutoCanvasRestore acr(canvas, true);
        canvas->scale(size.width() * 1.0f / image->width(),
                      size.height() * 1.0f / image->height());
        image->draw(canvas,0, 0, NULL);
        image->unref();
    }
}
示例#3
0
static void drawJpeg(SkCanvas* canvas, const SkISize& size) {
    // TODO: Make this draw a file that is checked in, so it can
    // be exercised on machines other than mike's. Will require a
    // rebaseline.
    SkAutoDataUnref data(fileToData("/Users/mike/Downloads/skia.google.jpeg"));
    SkImage* image = SkImage::NewEncodedData(data);
    if (image) {
        SkAutoCanvasRestore acr(canvas, true);
        canvas->scale(size.width() * 1.0f / image->width(),
                      size.height() * 1.0f / image->height());
        image->draw(canvas,0, 0, NULL);
        image->unref();
    }
}