您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ toRenderImage函数代码示例

51自学网 2021-06-03 08:53:29
  C++
这篇教程C++ toRenderImage函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中toRenderImage函数的典型用法代码示例。如果您正苦于以下问题:C++ toRenderImage函数的具体用法?C++ toRenderImage怎么用?C++ toRenderImage使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了toRenderImage函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String& title){    ASSERT(node);    if (!(node->renderer() && node->renderer()->isImage()))        return;    RenderImage* renderer = toRenderImage(node->renderer());    CachedImage* cachedImage = renderer->cachedImage();    if (!cachedImage || cachedImage->errorOccurred())        return;    Image* image = cachedImage->imageForRenderer(renderer);    ASSERT(image);    GtkClipboard* clipboard = gtk_clipboard_get_for_display(gdk_display_get_default(), GDK_SELECTION_CLIPBOARD);    DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);    KURL url = getURLForImageNode(node);    if (!url.isEmpty()) {        dataObject->setURL(url, title);        dataObject->setMarkup(createMarkup(static_cast<Element*>(node), IncludeNode, 0, ResolveAllURLs));    }    GRefPtr<GdkPixbuf> pixbuf = adoptGRef(image->getGdkPixbuf());    dataObject->setImage(pixbuf.get());    PasteboardHelper::defaultPasteboardHelper()->writeClipboardContents(clipboard);}
开发者ID:1833183060,项目名称:wke,代码行数:29,


示例2: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String& title){    ASSERT(node);    if (!(node->renderer() && node->renderer()->isImage()))        return;    RenderImage* renderer = toRenderImage(node->renderer());    CachedImage* cachedImage = renderer->cachedImage();    if (!cachedImage || cachedImage->errorOccurred())        return;    Image* image = cachedImage->imageForRenderer(renderer);    ASSERT(image);    NativeImagePtr bitmap = image->nativeImageForCurrentFrame();    if (!bitmap)        return;    // If the image is wrapped in a link, |url| points to the target of the    // link.  This isn't useful to us, so get the actual image URL.    AtomicString urlString;    if (node->hasTagName(HTMLNames::imgTag) || node->hasTagName(HTMLNames::inputTag))        urlString = static_cast<Element*>(node)->getAttribute(HTMLNames::srcAttr);#if ENABLE(SVG)    else if (node->hasTagName(SVGNames::imageTag))        urlString = static_cast<Element*>(node)->getAttribute(XLinkNames::hrefAttr);#endif    else if (node->hasTagName(HTMLNames::embedTag) || node->hasTagName(HTMLNames::objectTag)) {        Element* element = static_cast<Element*>(node);        urlString = element->getAttribute(element->imageSourceAttributeName());    }    KURL url = urlString.isEmpty() ? KURL() : node->document()->completeURL(stripLeadingAndTrailingHTMLSpaces(urlString));    PlatformSupport::clipboardWriteImage(bitmap, url, title);}
开发者ID:Spencerx,项目名称:webkit,代码行数:35,


示例3: toRenderImage

void Pasteboard::writeImage(Element& element, const URL&, const String& title){    if (!(element.renderer() && element.renderer()->isRenderImage()))        return;    RenderImage* renderer = toRenderImage(element.renderer());    CachedImage* cachedImage = renderer->cachedImage();    if (!cachedImage || cachedImage->errorOccurred())        return;    Image* image = cachedImage->imageForRenderer(renderer);    ASSERT(image);    m_dataObject->clearAll();    URL url = getURLForImageElement(element);    if (!url.isEmpty()) {        m_dataObject->setURL(url, title);        m_dataObject->setMarkup(createMarkup(element, IncludeNode, 0, ResolveAllURLs));    }    GRefPtr<GdkPixbuf> pixbuf = adoptGRef(image->getGdkPixbuf());    m_dataObject->setImage(pixbuf.get());    if (m_gtkClipboard)        PasteboardHelper::defaultPasteboardHelper()->writeClipboardContents(m_gtkClipboard);}
开发者ID:CannedFish,项目名称:webkitgtk,代码行数:27,


示例4: ASSERT

void ImageLoader::setImage(CachedImage* newImage){    ASSERT(m_failedLoadURL.isEmpty());    CachedImage* oldImage = m_image.get();    if (newImage != oldImage) {        m_image = newImage;        if (!m_firedBeforeLoad) {            beforeLoadEventSender().cancelEvent(this);            m_firedBeforeLoad = true;        }        if (!m_firedLoad) {            loadEventSender().cancelEvent(this);            m_firedLoad = true;        }        m_imageComplete = true;        if (newImage)            newImage->addClient(this);        if (oldImage)            oldImage->removeClient(this);    }    if (RenderObject* renderer = m_element->renderer()) {        if (!renderer->isImage())            return;        toRenderImage(renderer)->resetAnimation();    }}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:27,


示例5: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String& title){    ASSERT(node);    ASSERT(node->renderer());    ASSERT(node->renderer()->isImage());    RenderImage* renderer = toRenderImage(node->renderer());    CachedImage* cachedImage = renderer->cachedImage();    ASSERT(cachedImage);    Image* image = cachedImage->image();    ASSERT(image);    // If the image is wrapped in a link, |url| points to the target of the    // link.  This isn't useful to us, so get the actual image URL.    AtomicString urlString;    if (node->hasTagName(HTMLNames::imgTag) || node->hasTagName(HTMLNames::inputTag))        urlString = static_cast<Element*>(node)->getAttribute(HTMLNames::srcAttr);#if ENABLE(SVG)    else if (node->hasTagName(SVGNames::imageTag))        urlString = static_cast<Element*>(node)->getAttribute(XLinkNames::hrefAttr);#endif    else if (node->hasTagName(HTMLNames::embedTag) || node->hasTagName(HTMLNames::objectTag)) {        Element* element = static_cast<Element*>(node);        urlString = element->getAttribute(element->imageSourceAttributeName());    }    KURL url = urlString.isEmpty() ? KURL() : node->document()->completeURL(deprecatedParseURL(urlString));    NativeImageSkia* bitmap = 0;#if !PLATFORM(CG)    bitmap = image->nativeImageForCurrentFrame();#endif    ChromiumBridge::clipboardWriteImage(bitmap, url, title);}
开发者ID:boyliang,项目名称:ComponentSuperAccessor,代码行数:32,


示例6: appendServerMapMousePosition

static void appendServerMapMousePosition(String& url, Event* event){    if (!event->isMouseEvent())        return;    ASSERT(event->target());    Node* target = event->target()->toNode();    ASSERT(target);    if (!target->hasTagName(imgTag))        return;    HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(event->target()->toNode());    if (!imageElement || !imageElement->isServerMap())        return;    RenderImage* renderer = toRenderImage(imageElement->renderer());    if (!renderer)        return;    // FIXME: This should probably pass true for useTransforms.    FloatPoint absolutePosition = renderer->absoluteToLocal(FloatPoint(static_cast<MouseEvent*>(event)->pageX(), static_cast<MouseEvent*>(event)->pageY()));    int x = absolutePosition.x();    int y = absolutePosition.y();    url += "?";    url += String::number(x);    url += ",";    url += String::number(y);}
开发者ID:Moondee,项目名称:Artemis,代码行数:28,


示例7: LayoutSize

LayoutSize RenderImageResource::getImageSize(float multiplier, ImageResource::SizeType type) const{    if (!m_cachedImage)        return LayoutSize();    LayoutSize size = m_cachedImage->imageSizeForRenderer(m_renderer, multiplier, type);    if (m_renderer && m_renderer->isRenderImage())        size.scale(toRenderImage(m_renderer)->imageDevicePixelRatio());    return size;}
开发者ID:335969568,项目名称:Blink-1,代码行数:9,


示例8: getShapeImageReplacedRect

static LayoutRect getShapeImageReplacedRect(const RenderBox& renderBox, const StyleImage& styleImage){    if (renderBox.isRenderImage()) {        const RenderImage& renderImage = *toRenderImage(&renderBox);        return renderImage.replacedContentRect(renderBox.intrinsicSize());    }    ASSERT(styleImage.cachedImage());    ASSERT(styleImage.cachedImage()->hasImage());    return LayoutRect(LayoutPoint(), styleImage.cachedImage()->image()->size());}
开发者ID:boska,项目名称:webkit,代码行数:11,


示例9: attach

void SVGImageElement::attach(){    SVGStyledTransformableElement::attach();    if (RenderImage* imageObj = toRenderImage(renderer())) {        if (imageObj->hasImage())            return;        imageObj->setCachedImage(m_imageLoader.image());    }}
开发者ID:Mr-Kumar-Abhishek,项目名称:qt,代码行数:11,


示例10: element

RenderImageResource* ImageLoader::renderImageResource(){    auto renderer = element().renderer();    if (!renderer)        return nullptr;    // We don't return style generated image because it doesn't belong to the ImageLoader.    // See <https://bugs.webkit.org/show_bug.cgi?id=42840>    if (renderer->isRenderImage() && !toRenderImage(*renderer).isGeneratedContent())        return &toRenderImage(*renderer).imageResource();    if (renderer->isSVGImage())        return &toRenderSVGImage(renderer)->imageResource();#if ENABLE(VIDEO)    if (renderer->isVideo())        return &toRenderVideo(*renderer).imageResource();#endif    return nullptr;}
开发者ID:ddxxyy,项目名称:webkit,代码行数:21,


示例11: getImage

static Image* getImage(Element* element){    ASSERT(element);    RenderObject* renderer = element->renderer();    if (!renderer || !renderer->isImage())        return 0;    RenderImage* image = toRenderImage(renderer);    if (image->cachedImage() && !image->cachedImage()->errorOccurred())        return image->cachedImage()->image();    return 0;}
开发者ID:Mr-Kumar-Abhishek,项目名称:qt,代码行数:12,


示例12: CachedImage

void ImageLoader::updateFromElement(){    // If we're not making renderers for the page, then don't load images.  We don't want to slow    // down the raw HTML parsing case by loading images we don't intend to display.    Document* document = m_element->document();    if (!document->renderer())        return;    AtomicString attr = m_element->getAttribute(m_element->imageSourceAttributeName());    if (attr == m_failedLoadURL)        return;    // Do not load any image if the 'src' attribute is missing or if it is    // an empty string referring to a local file. The latter condition is    // a quirk that preserves old behavior that Dashboard widgets    // need (<rdar://problem/5994621>).    CachedImage* newImage = 0;    if (!(attr.isNull() || (attr.isEmpty() && document->baseURI().isLocalFile()))) {        if (m_loadManually) {            document->docLoader()->setAutoLoadImages(false);            newImage = new CachedImage(sourceURI(attr));            newImage->setLoading(true);            newImage->setDocLoader(document->docLoader());            document->docLoader()->m_documentResources.set(newImage->url(), newImage);        } else            newImage = document->docLoader()->requestImage(sourceURI(attr));        // If we do not have an image here, it means that a cross-site        // violation occurred.        m_failedLoadURL = !newImage ? attr : AtomicString();    }        CachedImage* oldImage = m_image.get();    if (newImage != oldImage) {        setLoadingImage(newImage);        if (newImage) {            newImage->addClient(this);            if (!m_element->document()->hasListenerType(Document::BEFORELOAD_LISTENER))                dispatchPendingBeforeLoadEvent();            else                beforeLoadEventSender().dispatchEventSoon(this);        }        if (oldImage)            oldImage->removeClient(this);    }    if (RenderObject* renderer = m_element->renderer()) {        if (!renderer->isImage())            return;        toRenderImage(renderer)->resetAnimation();    }}
开发者ID:Mr-Kumar-Abhishek,项目名称:qt,代码行数:53,


示例13: toRenderImage

RenderImageResource* ImageLoader::renderImageResource(){    RenderObject* renderer = m_element->renderer();    if (!renderer)        return 0;    if (renderer->isImage())        return toRenderImage(renderer)->imageResource();    return 0;}
开发者ID:Jamesducque,项目名称:mojo,代码行数:12,


示例14: toRenderImage

Image* HitTestResult::image() const{    if (!m_innerNonSharedNode)        return 0;    RenderObject* renderer = m_innerNonSharedNode->renderer();    if (renderer && renderer->isImage()) {        RenderImage* image = toRenderImage(renderer);        if (image->cachedImage() && !image->cachedImage()->errorOccurred())            return image->cachedImage()->imageForRenderer(image);    }    return 0;}
开发者ID:Jamesducque,项目名称:mojo,代码行数:14,


示例15: getCachedImage

static CachedImage* getCachedImage(Element* element){    // Attempt to pull CachedImage from element    ASSERT(element);    RenderObject* renderer = element->renderer();    if (!renderer || !renderer->isImage())        return 0;    RenderImage* image = toRenderImage(renderer);    if (image->cachedImage() && !image->cachedImage()->errorOccurred())        return image->cachedImage();    return 0;}
开发者ID:azrul2202,项目名称:WebKit-Smartphone,代码行数:14,


示例16: roundedIntSize

PassOwnPtr<Shape> ShapeOutsideInfo::createShapeForImage(StyleImage* styleImage, float shapeImageThreshold, WritingMode writingMode, float margin) const{    const IntSize& imageSize = m_renderer.calculateImageIntrinsicDimensions(styleImage, roundedIntSize(m_referenceBoxLogicalSize), RenderImage::ScaleByEffectiveZoom);    styleImage->setContainerSizeForRenderer(&m_renderer, imageSize, m_renderer.style()->effectiveZoom());    const LayoutRect& marginRect = getShapeImageMarginRect(m_renderer, m_referenceBoxLogicalSize);    const LayoutRect& imageRect = (m_renderer.isRenderImage())        ? toRenderImage(&m_renderer)->replacedContentRect()        : LayoutRect(LayoutPoint(), imageSize);    ASSERT(!styleImage->isPendingImage());    RefPtr<Image> image = styleImage->image(const_cast<RenderBox*>(&m_renderer), imageSize);    return Shape::createRasterShape(image.get(), shapeImageThreshold, imageRect, marginRect, writingMode, margin);}
开发者ID:Drakey83,项目名称:steamlink-sdk,代码行数:15,


示例17: toRenderImage

void ImageLoader::updateRenderer(){    if (RenderObject* renderer = m_element->renderer()) {        if (!renderer->isImage() && !renderer->isVideo())            return;        RenderImage* imageRenderer = toRenderImage(renderer);                // Only update the renderer if it doesn't have an image or if what we have        // is a complete image.  This prevents flickering in the case where a dynamic        // change is happening between two images.        CachedImage* cachedImage = imageRenderer->cachedImage();        if (m_image != cachedImage && (m_imageComplete || !imageRenderer->cachedImage()))            imageRenderer->setCachedImage(m_image.get());    }}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:15,


示例18: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String&){    ASSERT(node && node->renderer() && node->renderer()->isImage());#ifndef QT_NO_CLIPBOARD    CachedImage* cachedImage = toRenderImage(node->renderer())->cachedImage();    ASSERT(cachedImage);    Image* image = cachedImage->image();    ASSERT(image);    QPixmap* pixmap = image->nativeImageForCurrentFrame();    ASSERT(pixmap);    QApplication::clipboard()->setPixmap(*pixmap, QClipboard::Clipboard);#endif}
开发者ID:Mr-Kumar-Abhishek,项目名称:qt,代码行数:17,


示例19: toRenderImage

void HTMLAreaElement::setFocus(bool shouldBeFocused){    if (focused() == shouldBeFocused)        return;    HTMLAnchorElement::setFocus(shouldBeFocused);    HTMLImageElement* imageElement = this->imageElement();    if (!imageElement)        return;    RenderObject* renderer = imageElement->renderer();    if (!renderer || !renderer->isImage())        return;    toRenderImage(renderer)->areaElementFocusChanged(this);}
开发者ID:RobinWuDev,项目名称:Qt,代码行数:17,


示例20: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String&){    ASSERT(node && node->renderer() && node->renderer()->isImage());#ifndef QT_NO_CLIPBOARD    CachedImage* cachedImage = toRenderImage(node->renderer())->cachedImage();    if (!cachedImage || cachedImage->errorOccurred())        return;    Image* image = cachedImage->image();    ASSERT(image);    QPixmap* pixmap = image->nativeImageForCurrentFrame();    if (!pixmap)        return;    KApp::clipboard()->setPixmap(*pixmap, QClipboard::Clipboard);#endif}
开发者ID:DreamOnTheGo,项目名称:src,代码行数:18,


示例21: getShapeImageAndRect

static void getShapeImageAndRect(const ShapeValue& shapeValue, const RenderBox& renderBox, const LayoutSize& referenceBoxSize, Image*& image, LayoutRect& rect){    ASSERT(shapeValue.isImageValid());    StyleImage* styleImage = shapeValue.image();    const LayoutSize& imageSize = renderBox.calculateImageIntrinsicDimensions(styleImage, roundedIntSize(referenceBoxSize), RenderImage::ScaleByEffectiveZoom);    styleImage->setContainerSizeForRenderer(&renderBox, imageSize, renderBox.style().effectiveZoom());    image = nullptr;    if (styleImage->isCachedImage() || styleImage->isCachedImageSet())        image = styleImage->cachedImage()->imageForRenderer(&renderBox);    else if (styleImage->isGeneratedImage())        image = styleImage->image(const_cast<RenderBox*>(&renderBox), imageSize).get();    if (renderBox.isRenderImage())        rect = toRenderImage(&renderBox)->replacedContentRect(renderBox.intrinsicSize());    else        rect = LayoutRect(LayoutPoint(), imageSize);}
开发者ID:Wrichik1999,项目名称:webkit,代码行数:19,


示例22: ASSERT

void Pasteboard::writeImage(Node* node, const KURL&, const String&){    ASSERT(node && node->renderer() && node->renderer()->isImage());    RenderImage* renderer = toRenderImage(node->renderer());    CachedImage* cachedImage = renderer->cachedImage();    ASSERT(cachedImage);    Image* image = cachedImage->image();    ASSERT(image);    clear();    HDC dc = GetDC(0);    HDC compatibleDC = CreateCompatibleDC(0);    HDC sourceDC = CreateCompatibleDC(0);    HBITMAP resultBitmap = CreateCompatibleBitmap(dc, image->width(), image->height());    HBITMAP oldBitmap = (HBITMAP)SelectObject(compatibleDC, resultBitmap);    BitmapInfo bmInfo = BitmapInfo::create(image->size());    HBITMAP coreBitmap = CreateDIBSection(dc, &bmInfo, DIB_RGB_COLORS, 0, 0, 0);    HBITMAP oldSource = (HBITMAP)SelectObject(sourceDC, coreBitmap);    image->getHBITMAP(coreBitmap);    BLENDFUNCTION bf = {AC_SRC_OVER, 0, 255, AC_SRC_ALPHA};    AlphaBlend(compatibleDC, 0, 0, image->width(), image->height(),        sourceDC, 0, 0, image->width(), image->height(), bf);    SelectObject(compatibleDC, oldBitmap);    SelectObject(sourceDC, oldSource);    DeleteObject(oldBitmap);    DeleteObject(oldSource);    DeleteObject(coreBitmap);    ReleaseDC(0, dc);    DeleteDC(compatibleDC);    DeleteDC(sourceDC);    if (::OpenClipboard(m_owner)) {        ::SetClipboardData(CF_BITMAP, resultBitmap);        ::CloseClipboard();    }}
开发者ID:freeworkzz,项目名称:nook-st-oss,代码行数:42,


示例23: roundedIntSize

PassOwnPtr<Shape> ShapeOutsideInfo::createShapeForImage(StyleImage* styleImage, float shapeImageThreshold, WritingMode writingMode, float margin) const{    const IntSize& imageSize = m_renderer.calculateImageIntrinsicDimensions(styleImage, roundedIntSize(m_referenceBoxLogicalSize), RenderImage::ScaleByEffectiveZoom);    styleImage->setContainerSizeForRenderer(&m_renderer, imageSize, m_renderer.style()->effectiveZoom());    const LayoutRect& marginRect = getShapeImageMarginRect(m_renderer, m_referenceBoxLogicalSize);    const LayoutRect& imageRect = (m_renderer.isRenderImage())        ? toRenderImage(m_renderer).replacedContentRect()        : LayoutRect(LayoutPoint(), imageSize);    if (!isValidRasterShapeRect(marginRect) || !isValidRasterShapeRect(imageRect)) {        m_renderer.document().addConsoleMessage(ConsoleMessage::create(RenderingMessageSource, ErrorMessageLevel, "The shape-outside image is too large."));        return Shape::createEmptyRasterShape(writingMode, margin);    }    ASSERT(!styleImage->isPendingImage());    RefPtr<Image> image = styleImage->image(const_cast<RenderBox*>(&m_renderer), imageSize);    return Shape::createRasterShape(image.get(), shapeImageThreshold, imageRect, marginRect, writingMode, margin);}
开发者ID:335969568,项目名称:Blink-1,代码行数:20,



注:本文中的toRenderImage函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ toRenderSVGInlineText函数代码示例
C++ toRenderBoxModelObject函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。