示例#1
0
HRESULT PlaybackControls::LoadFile()
{
	QPixmap picture;
	picture = getPicture(mFile);
	if (!picture.isNull())
	{
		mpParentWindow->id3Art->setPixmap(picture.scaledToHeight(128));
	}

	HRESULT hr = 0;
	if (!mpGraph)
	{
		if (FAILED(hr = InitialiseFilterGraph()))
			return hr;
	}

	if (!mGraphValid)
	{
		hr = mpGraph->RenderFile(mFile.toStdWString().c_str(), NULL);
		if (SUCCEEDED(hr))
		{
			QString metadata = getArtist(mFile);
			mpParentWindow->artistLabel->setText("Artist : " + metadata);
			metadata = getAlbum(mFile);
			mpParentWindow->albumLabel->setText("Album : " + metadata);
			metadata = getTitle(mFile);
			mpParentWindow->titleLabel->setText("Title : " + metadata);
			mGraphValid = true;
			setVolume(mVolume);
			emit volumeChanged(mVolume);
		}
		return hr;
	}
	return S_OK;
}
void PictureBank::createResources()
{
  Picture& originalPic = getPicture( ResourceGroup::utilitya, 34 );
  setPicture( std::string( ResourceGroup::waterbuildings ) + "_00001.png", *originalPic.getSurface() );

  Picture* fullReservoir = originalPic.createCopy(); //mem leak on destroy picloader
  fullReservoir->draw( getPicture( ResourceGroup::utilitya, 35 ), 47, 37 );
  setPicture( std::string( ResourceGroup::waterbuildings ) + "_00002.png", *fullReservoir->getSurface() );

  Picture& emptyFontainOrig = getPicture( ResourceGroup::utilitya, 10 );
  setPicture( std::string( ResourceGroup::waterbuildings ) + "_00003.png", *emptyFontainOrig.getSurface() );

  Picture* fullFontain = emptyFontainOrig.createCopy();  //mem leak on destroy picloader
  fullFontain->draw( getPicture( ResourceGroup::utilitya, 11 ), 12, 25 );
  setPicture( std::string( ResourceGroup::waterbuildings) + "_00004.png", *fullFontain->getSurface() );
}
示例#3
0
void House::_update()
{
    int picId = ( _d->houseId == smallHovel && _d->currentHabitants == 0 ) ? 45 : (_d->houseId + _d->picIdOffset); 
    setPicture( Picture::load( ResourceGroup::housing, picId ) );
    setSize( Size( (getPicture().getWidth() + 2 ) / 60 ) );
    _d->maxHabitants = _d->houseLevelSpec.getMaxHabitantsByTile() * getSize().getArea();
}
示例#4
0
TriumphalArch::TriumphalArch() : Building( B_TRIUMPHAL_ARCH, Size(3) )
{
  setPicture( Picture::load( "land3a", 43 ) );
  getPicture().set_offset(0,116);
  _animation.load("land3a", 44, 1);
  _animation.setOffset( Point( 63, 97 ) );
  _fgPictures.resize(1);
  _fgPictures.at(0) = _animation.getCurrentPicture(); 
}
示例#5
0
// Print gameboard's picture
bool PlayGround::printPicture(KPrinter &printer) const
{
  QPainter artist;
  QPixmap picture(getPicture());

  if (!artist.begin(&printer)) return false;
  artist.drawPixmap(QPoint(32, 32), picture);
  if (!artist.end()) return false;
  return true;
}
示例#6
0
TriumphalArch::TriumphalArch()
{
  setType(B_TRIUMPHAL_ARCH);
  _size = 3;
  setPicture(PicLoader::instance().get_picture("land3a", 43));
  getPicture().set_offset(0,116);
  _animation.load("land3a", 44, 1);
  _animation.setOffset( Point( 63, 97 ) );
  _fgPictures.resize(1);
  _fgPictures.at(0) = _animation.getCurrentPicture(); 
}
示例#7
0
BuildingHippodrome::BuildingHippodrome() : EntertainmentBuilding(S_HIPPODROME, B_HIPPODROME, Size(5) )
{
  setPicture( Picture::load("circus", 5));
    getPicture().set_offset(0,106);
    Picture* logo = &Picture::load("circus", 3);
    Picture* logo1 = &Picture::load("circus", 1);
    logo -> set_offset(150,181);
    logo1 -> set_offset(300,310);
    _fgPictures.resize(5);
    _fgPictures.at(0) = logo;
    _fgPictures.at(1) = logo1;
}
示例#8
0
TriumphalArch::TriumphalArch()
{
  setType(B_TRIUMPHAL_ARCH);
  _size = 3;
  setPicture(PicLoader::instance().get_picture("land3a", 43));
  getPicture().set_offset(0,116);
  AnimLoader animLoader(PicLoader::instance());
  animLoader.fill_animation(_animation, "land3a", 44, 1);
  animLoader.change_offset(_animation, 63, 97);
  _fgPictures.resize(1);
  _fgPictures.at(0) = _animation.get_current_picture(); 
}
示例#9
0
Encode_Status VaapiEncoderBase::getOutput(VideoEncOutputBuffer * outBuffer, bool withWait)
{
    bool isEmpty;
    PicturePtr picture;
    Encode_Status ret;
    FUNC_ENTER();
    ret = checkEmpty(outBuffer, &isEmpty);
    if (isEmpty)
        return ret;

    getPicture(picture);
    ret = picture->getOutput(outBuffer);
    if (ret != ENCODE_SUCCESS)
        return ret;

    checkCodecData(outBuffer);
    return ENCODE_SUCCESS;
}
示例#10
0
BuildingHippodrome::BuildingHippodrome() : EntertainmentBuilding(S_HIPPODROME)
{
    setType(B_HIPPODROME);
    _size = 5;
    setPicture(PicLoader::instance().get_picture("circus", 5));
    getPicture().set_offset(0,106);
    Picture* logo = &PicLoader::instance().get_picture("circus", 3);
    Picture* logo1 = &PicLoader::instance().get_picture("circus", 1);
    logo -> set_offset(150,181);
    logo1 -> set_offset(300,310);
    _fgPictures.resize(5);
    _fgPictures.at(0) = logo;
    _fgPictures.at(1) = logo1;
  

  
 
 
}
示例#11
0
HRESULT PlaybackControls::LoadFile()
{
	mMediaObject.stop();
//	Phonon::State state = mMediaObject.state();
	QPixmap picture;
	picture = getPicture(mFile);
	if (!picture.isNull())
	{
		mpParentWindow->id3Art->setPixmap(picture.scaledToHeight(128));
	}
	QString metadata = getArtist(mFile);
	mpParentWindow->artistLabel->setText("Artist : " + metadata);
	metadata = getAlbum(mFile);
	mpParentWindow->albumLabel->setText("Album : " + metadata);
	metadata = getTitle(mFile);
	mpParentWindow->titleLabel->setText("Title : " + metadata);

	mMediaObject.setCurrentSource(mFile);
	QStringList list = mMediaObject.metaData(Phonon::TitleMetaData);
//	bool test = list.isEmpty();
	mAudioOutput.setVolume(mVolume / 100.0);
	volumeChanged(mVolume);
	return 0;
}
示例#12
0
static CameraError retrievePic(String imgName)
{
    setPowerOutput(ON);
    /**
     * Increasing Power On Period
     *
     * Although the data sheet says that the camera needs ~1.5 sec to start-up,
     * in practice 2 sec makes for a much more reliable situation.
     */
    wait(2000);//1500);

    // initialize camera and image storage
    cameraComPort.init();
    cameraComPort.baudrate(14400);
    //imageFile = getFileStream();
    imageFile = FSfopen(imgName, "w");
    CameraError error = NO_FILE;

    //if(imageFile.open)
    if(imageFile)
    {
        //FSfclose(FSfopen(imgName, "w")); // erase file
        //imageFile.open(imgName); // open file
        error = getPicture();
        FSfclose(imageFile);
        imageFile = NullPtr;
        //imageFile.close();
    }

    //imageFile.free();

    setPowerOutput(OFF);
    wait(1000);

    return error;
}
示例#13
0
Encode_Status VaapiEncoderBase::getOutput(VideoEncOutputBuffer * outBuffer, VideoEncMVBuffer * MVBuffer, bool withWait)
{
    void *data = NULL;
    uint32_t mappedSize;
    bool isEmpty;
    PicturePtr picture;
    Encode_Status ret;
    FUNC_ENTER();

    ret = checkEmpty(outBuffer, &isEmpty);
    if (isEmpty)
        return ret;
    getPicture(picture);

    ret = picture->getOutput(outBuffer);
    if (ret != ENCODE_SUCCESS)
        return ret;
    if (!picture->editMVBuffer(data, &mappedSize))
        return ret;
    if (data)
        memcpy(MVBuffer->data, data, mappedSize);
    checkCodecData(outBuffer);
    return ENCODE_SUCCESS;
}
示例#14
0
文件: DrawAni.cpp 项目: korman/Temp
bool DrawAni::doDraw(const int frameIndex, const AniModify* mod_lev2,
					 const AniModify* mod_lev3)
{
	if (!m_pkAni || !m_pkInstance || !m_pkInstance->getOwnerNode())
		return false;

	// get picture to draw
	NDPicture* pkPicture = getPicture(m_pkAni, frameIndex);
	if (!pkPicture)
		return false;

	// get node screen rect
	CCRect kNodeRect;
	NDNode* pkOwnerNode = m_pkInstance->getOwnerNode();

	if (pkOwnerNode->IsA(RTCLS(NDTileObj)))
	{
		NDTileObj* pkTileObj = (NDTileObj*) pkOwnerNode;
		if (pkTileObj->isPlayer() || pkTileObj->isPath())
			kNodeRect = pkOwnerNode->GetScreenRect();
		else
			kNodeRect = pkOwnerNode->GetPushScreenRect();
	}
	else
	{
		kNodeRect = pkOwnerNode->GetScreenRect();
	}

	// node center pos (caution: world map tile obj!)
	CCPoint centerPos = CCPointMake(
		kNodeRect.origin.x + kNodeRect.size.width * 0.5f,
		kNodeRect.origin.y + kNodeRect.size.height * 0.5f);

	// get node scale (recursive)
	float nodeScaleX = pkOwnerNode->GetScaleX_R();
	float nodeScaleY = pkOwnerNode->GetScaleY_R();

	// add offset
	int sign = pkOwnerNode->isReverse() ? -1 : 1;
	centerPos.x += m_pkAni->m_kAniModifyEx.getOffsetX() * COORD_SCALE_X_960 * nodeScaleX
		* sign;
	centerPos.y += m_pkAni->m_kAniModifyEx.getOffsetY() * COORD_SCALE_Y_960 * nodeScaleY;

	// apply mod: offset
	if (mod_lev2)
	{
		centerPos.x += mod_lev2->getOffsetX() * COORD_SCALE_X_960 * nodeScaleX
			* sign;
		centerPos.y += mod_lev2->getOffsetY() * COORD_SCALE_Y_960 * nodeScaleY;
	}
	if (mod_lev3)
	{
		centerPos.x += mod_lev3->getOffsetX() * COORD_SCALE_X_960 * nodeScaleX
			* sign;
		centerPos.y += mod_lev3->getOffsetY() * COORD_SCALE_Y_960 * nodeScaleY;
	}

	// calculate pic size
	CCSize picSize = pkPicture->GetSize();
	if (m_pkAni->m_kAniModifyEx.getStretch())
	{
		picSize.width *= COORD_SCALE_X_960;
		picSize.height *= COORD_SCALE_Y_960;
	}
	else
	{
		picSize.width *= RESOURCE_SCALE_960;
		picSize.height *= RESOURCE_SCALE_960;
	}

	if (m_pkAni->m_kAniModifyEx.getFullScreen())
	{
		// apply fullscreen 
		picSize = CCDirector::sharedDirector()->getWinSizeInPixels();
	}
	else
	{
		// size override
		if (m_pkAni->m_kAniModifyEx.sizeOverride())
		{
			picSize = CCSizeMake(m_pkAni->m_kAniModifyEx.getWidth(), m_pkAni->m_kAniModifyEx.getHeight());
		}

		// apply node scale
		picSize.width *= nodeScaleX;
		picSize.height *= nodeScaleY;

		// apply scale
		picSize.width *= m_pkAni->m_kAniModifyEx.getScale();
		picSize.height *= m_pkAni->m_kAniModifyEx.getScale();

		// apply mod: scale
		if (mod_lev2)
		{
			picSize.width *= mod_lev2->getScale();
			picSize.height *= mod_lev2->getScale();
		}
		if (mod_lev3)
		{
			picSize.width *= mod_lev3->getScale();
			picSize.height *= mod_lev3->getScale();
		}
	}

	// apply alpha
	applyAlpha(pkPicture, mod_lev2);

	// apply HSL
	applyHSL(pkPicture, mod_lev2);

	// target rect to draw in
	CCRect picRect = CCRectMake(centerPos.x - picSize.width * 0.5f,
		centerPos.y - picSize.height * 0.5f, picSize.width, picSize.height);

	// check to disable scissor
	if (!isAllowScissor())
	{
		NDDirector::DefaultDirector()->DisableScissor();
	}

	// draw
	if (m_pkInstance && m_pkInstance->getOwnerNode())
	{
		// apply from action: opacity/rotation/gaussianBlur
		NDNode* pkOwnerNode = m_pkInstance->getOwnerNode();
		pkPicture->SetOpacity(pkOwnerNode->getRGBA()->getOpacity());
		pkPicture->SetRotation(pkOwnerNode->getCCNode()->getRotation());
		pkPicture->SetRotationX(pkOwnerNode->getCCNode()->getRotationX());
		pkPicture->SetRotationY(pkOwnerNode->getCCNode()->getRotationY());
		pkPicture->setGaussianBlur(pkOwnerNode->getCCNode()->getGaussianBlur());

		// toggle reverse
		bool bReverse = m_pkAni->m_kAniModifyEx.getReverse();
		if (pkOwnerNode->isReverse())
			bReverse = !bReverse;
		pkPicture->SetReverse(bReverse);
	}
	pkPicture->DrawInRect(picRect);
}
示例#15
0
Picture& PictureBank::getPicture(const std::string &prefix, const int idx)
{
   std::string resource_name = StringHelper::format( 0xff, "%s_%05d.png", prefix.c_str(),idx );

   return getPicture(resource_name);
}
示例#16
0
Picture& PictureBank::getPicture(const std::string& prefix, const int idx)
{
  _d->cache.rc = utils::format( 0xff, "%s_%05d", prefix.c_str(), idx );

  return getPicture( _d->cache.rc );
}
示例#17
0
/**
 * 对图片进行处理
 */
void processImage(ImageProcess *mImageProcess, std::vector<OCRMask>* mOCRMasks, BillInfo& mBillInfo)
{
		//ImageProcess *mImageProcess = new ImageProcess();
		//ParamWidget* paramWidget = new ParamWidget();

		QString fileName = getPicture();
		mBillInfo.fileName = fileName;

		IplImage* cvImage = cvLoadImage(fileName.toLocal8Bit().data());
		if(cvImage)
		{
				mImageProcess->setImage(cvImage);
				//QImage* qtImage= ImageAdapter::IplImage2QImage(cvImage);
				//imageWidget->setImage(qtImage); 
				//mBillInfo.fileName = *qtImage;//保存图片,不知道会不会有问题
		}

		if(mImageProcess->getOriginalImage() == NULL)
		{
				QMessageBox msgBox;
				msgBox.setIcon(QMessageBox::Warning);
				msgBox.setText(QObject::tr("No image loaded.\nPlease load an image file before OpenCV."));
				msgBox.exec();
				return;
		}
		/*
		ImageProcessParam param;

		param.debug = true;

		param.gray =paramWidget->grayGroup->isChecked();

		param.threshold = paramWidget->threshold->isChecked();
		param.thresholdBlockSize = paramWidget->thresholdBlockSize->value();
		param.thresholdMeanBias = paramWidget->thresholdMeanBias->value();

		param.hough = paramWidget->houghGroup->isChecked();
		param.houghRho = paramWidget->houghRho->value();
		param.houghTheta = paramWidget->houghTheta->value();
		param.houghThreshold = paramWidget->houghThreshold->value();
		param.houghParam1 = paramWidget->houghParam1->value();
		param.houghParam2 = paramWidget->houghParam2->value();

		param.corner = paramWidget->cornerGroup->isChecked();
		param.cornerDegree = paramWidget->cornerDegree->value();
		param.cornerGap = paramWidget->cornerGap->value();

		param.background = paramWidget->backgroundGroup->isChecked();

		param.normalize = paramWidget->normalizeGroup->isChecked();
		param.normalizeTopMargin = paramWidget->normalizeTopMargin->value();
		param.normalizeSideMargin =paramWidget->normalizeSideMargin->value();
		param.normalizeWidth = paramWidget->normalizeWidth->value();
		param.normalizeHeight = paramWidget->normalizeHeight->value();

		param.blueText =  paramWidget->blueTextGroup->isChecked();
		param.blueTextMin = paramWidget->blueTextMin->value();
		param.blueTextMax = paramWidget->blueTextMax->value();
		*/
		mImageProcess->setMasks(mOCRMasks);
		mImageProcess->run(&param);

		//IplImage* cvImage2 = mImageProcess->getProcessedImage();
		//QImage* qtImage = ImageAdapter::IplImage2QImage(cvImage2);
		//imageWidget->setImage(qtImage);

		//delete paramWidget;
}